const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COUNT] =
{
    [FRONTIER_TRAINER_BRADY] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("世仁"),
        .speechBefore = {EC_WORD_ME, EC_WORD_FOREVER, EC_WORD_WON_T, EC_WORD_LOSS, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_I_AM, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_STRONG, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WHAT, EC_WORD_QUES, EC_EMPTY_WORD, EC_WORD_BUT, EC_WORD_HOW_DO, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_CONNER] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("途远"),
        .speechBefore = {EC_WORD_LOSING, EC_WORD_WON_T, EC_WORD_GIVES, EC_WORD_ME, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_VICTORY, EC_WORD_YEAH, EC_WORD_AWESOME, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_DARN, EC_WORD_ELLIPSIS, EC_WORD_LOSING, EC_WORD_GIVES, EC_WORD_IS, EC_WORD_ME},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_BRADLEY] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("子良"),
        .speechBefore = {EC_WORD_HELLO, EC_WORD_EXCL, EC_WORD_TODAY, EC_WORD_YOU_RE, EC_WORD_MY, EC_WORD_OPPONENT},
        .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_LATER, EC_WORD_SMELL_YA, EC_WORD_EXCL},
        .speechLose = {EC_WORD_TOMORROW, EC_WORD_EH_QUES, EC_WORD_WE, EC_WORD_TRULY, EC_WORD_OF, EC_WORD_BATTLE},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_CYBIL] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("钰涵"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_TOTALLY, EC_WORD_NO, EC_WORD_SCARY, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_YOU, EC_MOVE2(STRUGGLE), EC_WORD_YEAH, EC_WORD_SAD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS, EC_WORD_IMPOSSIBLE, EC_WORD_TO_ME, EC_WORD_HAPPENING, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_RODETTE] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("玛雅"),
        .speechBefore = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_YEAH, EC_WORD_EXCITING, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_YEAH, EC_WORD_STRONG, EC_WORD_LIKE, EC_WORD_INCREDIBLE, EC_WORD_EXCL},
        .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_WERE, EC_WORD_DRINK, EC_WORD_HAS},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_PEGGY] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("妮娜"),
        .speechBefore = {EC_WORD_READY, EC_WORD_DESTROYED, EC_WORD_YUP, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL, EC_WORD_ME, EC_WORD_LIKELY_TO, EC_WORD_LOLLING, EC_WORD_OF},
        .speechLose = {EC_WORD_ME, EC_WORD_SADLY, EC_WORD_UNDERSTOOD, EC_WORD_BE, EC_WORD_CASE, EC_WORD_YOU},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_KEITH] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
        .trainerName = _("军勇"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_KNOWS, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WASN_T, EC_WORD_STUDY},
        .speechWin = {EC_WORD_YOU, EC_WORD_STUDY, EC_WORD_LIKE, EC_WORD_DRINK, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_TOO, EC_WORD_STUDY, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_GRAYSON] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
        .trainerName = _("承恩"),
        .speechBefore = {EC_WORD_POKEMON, EC_WORD_FIGHT, EC_WORD_AREN_T, EC_WORD_CHILD_S_PLAY, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_FINISH, EC_WORD_IS, EC_WORD_ISN_T_IT_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_LOOKS, EC_WORD_WE, EC_WORD_JOKING, EC_WORD_TOYS, EC_WORD_AN},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_GLENN] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
        .trainerName = _("柏翰"),
        .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_ME, EC_WORD_WOULD, EC_WORD_VERY, EC_WORD_COOL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_COOL, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_THIS, EC_WORD_WERE, EC_WORD_ME},
        .speechLose = {EC_WORD_ME, EC_WORD_A_LITTLE, EC_WORD_ALSO, EC_WORD_NO, EC_WORD_COOL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_LILIANA] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
        .trainerName = _("晓美"),
        .speechBefore = {EC_WORD_ON, EC_WORD_WINS, EC_WORD_BEFORE, EC_WORD_ME, EC_WORD_WON_T, EC_WORD_GIVE_UP},
        .speechWin = {EC_WORD_ME, EC_WORD_ABSOLUTELY, EC_WORD_NO, EC_WORD_SURRENDER, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS_IS_IT_EXCL, EC_WORD_EVERY, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_GIVE_UP, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_ELISE] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
        .trainerName = _("梦怡"),
        .speechBefore = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_FEELING, EC_WORD_MY, EC_WORD_FATHER, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_FATHER, EC_WORD_ME, EC_WORD_WON},
        .speechLose = {EC_WORD_EXCUSE, EC_WORD_ME, EC_WORD_FATHER, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_LOST},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_ZOEY] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
        .trainerName = _("芮敏"),
        .speechBefore = {EC_WORD_PLEASE, EC_WORD_YOU, EC_WORD_RATHER, EC_WORD_FIGHT, EC_WORD_YUP, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD, EC_WORD_AWFULLY, EC_WORD_HEY_THERE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_BE, EC_WORD_SERIOUS, EC_WORD_OF, EC_WORD_DID, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_MANUEL] = {
        .facilityClass = FACILITY_CLASS_RICH_BOY,
        .trainerName = _("启浪"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WOULD, EC_WORD_LOSS, EC_WORD_QUES, EC_WORD_YEAH, EC_WORD_PREPOSTEROUS},
        .speechWin = {EC_WORD_ME, EC_WORD_NATURAL, EC_WORD_WIN, EC_WORD_IS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_MOTHER, EC_WORD_ME, EC_WORD_LOST, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_RUSS] = {
        .facilityClass = FACILITY_CLASS_RICH_BOY,
        .trainerName = _("梓政"),
        .speechBefore = {EC_WORD_THEY_WERE, EC_WORD_PERFECT, EC_WORD_WANTS, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_COME, EC_WORD_GO, EC_WORD_POKEMON, EC_WORD_PARTY},
        .speechLose = {EC_WORD_YOU, EC_WORD_HOW_DO, EC_WORD_CAN, EC_WORD_EVERY, EC_WORD_DOES, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_DUSTIN] = {
        .facilityClass = FACILITY_CLASS_RICH_BOY,
        .trainerName = _("皓然"),
        .speechBefore = {EC_WORD_ME, EC_WORD_REALLY, EC_WORD_LIKES, EC_WORD_COOL, EC_WORD_OF, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_MYSELF, EC_WORD_WIN, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_ME, EC_WORD_ALSO, EC_WORD_LIKES, EC_WORD_MYSELF, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_TINA] = {
        .facilityClass = FACILITY_CLASS_LADY,
        .trainerName = _("晨慧"),
        .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_GET, EC_WORD_A, EC_MOVE2(SWEET_KISS)},
        .speechWin = {EC_WORD_DOWN, EC_WORD_MY, EC_POKEMON_NATIONAL(JYNX), EC_WORD_GIMME, EC_WORD_YOUR, EC_MOVE2(SWEET_KISS)},
        .speechLose = {EC_WORD_SEEMS, EC_WORD_YOU, EC_WORD_WANTS, EC_WORD_OF, EC_WORD_BE, EC_MOVE2(MEGA_KICK)},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_GILLIAN1] = {
        .facilityClass = FACILITY_CLASS_LADY,
        .trainerName = _("雪妍"),
        .speechBefore = {EC_WORD_GOURMET, EC_WORD_BEEN, EC_WORD_NO, EC_WORD_POPULAR, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_POKEMON, EC_WORD_NEVER, EC_WORD_RICKETY, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_LOSING, EC_WORD_WON_T, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_DISAPPOINTED, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_ZOE] = {
        .facilityClass = FACILITY_CLASS_LADY,
        .trainerName = _("雨彤"),
        .speechBefore = {EC_WORD_ME, EC_WORD_A_LITTLE, EC_WORD_UNDERSTOOD, EC_WORD_NO, EC_WORD_WORRY, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_LIVING, EC_WORD_ALWAYS, EC_WORD_FOE, EC_WORD_ME, EC_WORD_WELL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SKILL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_1}
    },
    [FRONTIER_TRAINER_CHEN] = {
        .facilityClass = FACILITY_CLASS_CAMPER,
        .trainerName = _("坚宏"),
        .speechBefore = {EC_WORD_ME, EC_WORD_TODAY, EC_WORD_TOTALLY, EC_WORD_READY, EC_WORD_SONGS, EC_WORD_IS},
        .speechWin = {EC_WORD_ME, EC_WORD_READY, EC_WORD_GO_AHEAD, EC_WORD_KNOW, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_VIEWING, EC_WORD_POWER, EC_WORD_AND, EC_WORD_ROCK_HEAD},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_AL] = {
        .facilityClass = FACILITY_CLASS_CAMPER,
        .trainerName = _("应赫"),
        .speechBefore = {EC_WORD_YOUR, EC_WORD_SUPER, EC_WORD_SEEMS, EC_WORD_VERY, EC_WORD_STRONG, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_EH_QUES, EC_WORD_REALLY, EC_WORD_STRONG, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_I_AM, EC_WORD_FOE, EC_WORD_OF, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_STRONG},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_MITCH] = {
        .facilityClass = FACILITY_CLASS_CAMPER,
        .trainerName = _("司源"),
        .speechBefore = {EC_WORD_BIG, EC_WORD_NATURAL, EC_WORD_BE, EC_WORD_MY, EC_WORD_ALLY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_FOE, EC_WORD_YOU, EC_WORD_COME, EC_WORD_SAID, EC_WORD_ENOUGH, EC_WORD_WAS},
        .speechLose = {EC_WORD_BIG, EC_WORD_NATURAL, EC_WORD_HAVEN_T, EC_WORD_LET_ME_WIN, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_ANNE] = {
        .facilityClass = FACILITY_CLASS_PICNICKER,
        .trainerName = _("漾萍"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANT, EC_WORD_IS, EC_WORD_LET_S, EC_WORD_DAY, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_ME, EC_WORD_SORRY, EC_WORD_WAY, EC_WORD_HAPPY, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_MY, EC_WORD_HAPPILY, EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_ALIZE] = {
        .facilityClass = FACILITY_CLASS_PICNICKER,
        .trainerName = _("紫萱"),
        .speechBefore = {EC_WORD_CUTE, EC_WORD_SO, EC_WORD_STRONG, EC_WORD_THAT, EC_WORD_WERE, EC_WORD_ME},
        .speechWin = {EC_WORD_YES, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_HOWEVER, EC_WORD_AWFULLY, EC_WORD_STRONG},
        .speechLose = {EC_WORD_I_AM, EC_WORD_WEAK, EC_WORD_ELLIPSIS, EC_WORD_BUT, EC_WORD_ME, EC_WORD_CUTE},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_LAUREN] = {
        .facilityClass = FACILITY_CLASS_PICNICKER,
        .trainerName = _("琴婷"),
        .speechBefore = {EC_WORD_ME, EC_WORD_HOW, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_LIKELY_TO, EC_WORD_NICE},
        .speechWin = {EC_WORD_SAID, EC_WORD_IS, EC_WORD_ME, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_NICE},
        .speechLose = {EC_WORD_THAT, EC_WORD_YEAH, EC_WORD_WEIRD, EC_WORD_OF, EC_WORD_LIFE, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_KIPP] = {
        .facilityClass = FACILITY_CLASS_TUBER_M,
        .trainerName = _("海毅"),
        .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_ME, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WENT, EC_MOVE2(SURF), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_WENT, EC_MOVE2(SURF)},
        .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_BE, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_JASON] = {
        .facilityClass = FACILITY_CLASS_TUBER_M,
        .trainerName = _("飞鸿"),
        .speechBefore = {EC_WORD_TEACH, EC_WORD_GIVE_ME, EC_WORD_A, EC_WORD_GOOD, EC_WORD_STRATEGY, EC_WORD_YUP},
        .speechWin = {EC_WORD_THAT_WAS, EC_WORD_YOUR, EC_WORD_HAS, EC_WORD_STRATEGY, EC_WORD_QUES_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WAAAH, EC_WORD_YEAH, EC_WORD_A, EC_WORD_GREAT, EC_WORD_OF, EC_WORD_STRATEGY},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_JOHN] = {
        .facilityClass = FACILITY_CLASS_TUBER_M,
        .trainerName = _("彦漩"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_VERY, EC_WORD_NEW, EC_WORD_OF, EC_WORD_TRAINER},
        .speechWin = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_PERSON, EC_WORD_BUT, EC_WORD_WON, EC_WORD_EXCL},
        .speechLose = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_PERSON, EC_WORD_LOST, EC_WORD_SO, EC_WORD_FORGIVE},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_ANN] = {
        .facilityClass = FACILITY_CLASS_TUBER_F,
        .trainerName = _("江萱"),
        .speechBefore = {EC_WORD_YEAH, EC_WORD_EXCITING, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_REALLY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_ME, EC_WORD_HAPPINESS, EC_WORD_LIKE, EC_WORD_MISS, EC_WORD_CRIES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_HAS, EC_WORD_SADLY, EC_WORD_ME, EC_WORD_MISS, EC_WORD_CRIES},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_EILEEN] = {
        .facilityClass = FACILITY_CLASS_TUBER_F,
        .trainerName = _("湘兰"),
        .speechBefore = {EC_WORD_LET_S, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_WORD_ADULT, EC_WORD_OK_QUES},
        .speechWin = {EC_WORD_THIS, EC_WORD_WERE, EC_WORD_ADULT, EC_WORD_OF, EC_WORD_SENSE, EC_WORD_AWW},
        .speechLose = {EC_WORD_ADULT, EC_WORD_UNDERSTOOD, EC_WORD_APPEAR, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_CARLIE] = {
        .facilityClass = FACILITY_CLASS_TUBER_F,
        .trainerName = _("露沂"),
        .speechBefore = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_HOLIDAY, EC_WORD_PERFECT, EC_WORD_BELONGS_TO, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_HOLIDAY, EC_WORD_WILL, EC_WORD_WOULD, EC_WORD_AWESOME},
        .speechLose = {EC_WORD_ME, EC_WORD_EVERY, EC_WORD_UNDERSTOOD, EC_WORD_CAN_T_WIN, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_1}
    },
    [FRONTIER_TRAINER_GORDON] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_M,
        .trainerName = _("港和"),
        .speechBefore = {EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_WOULD, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL},
        .speechWin = {EC_WORD_OH_YEAH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_REALLY, EC_WORD_WON},
        .speechLose = {EC_WORD_ME, EC_WORD_WHAT, EC_WORD_UNDERSTOOD, EC_WORD_DOES, EC_WORD_NO, EC_WORD_HAS},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_M_1}
    },
    [FRONTIER_TRAINER_AYDEN] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_M,
        .trainerName = _("聪浪"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_ME, EC_WORD_NEED, EC_WORD_FIERY, EC_WORD_OF, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_DRINKS, EC_WORD_WATER, EC_WORD_SMARTNESS, EC_WORD_NOT},
        .speechLose = {EC_WORD_YOU, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_FIGHTS, EC_WORD_ICE, EC_WORD_COLD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_M_1}
    },
    [FRONTIER_TRAINER_MARCO] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_M,
        .trainerName = _("澎航"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WINTER, EC_WORD_ALSO, EC_WORD_WOULD, EC_MOVE2(SURF), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_NOW, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WENT, EC_MOVE2(SURF), EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_BREAK, EC_WORD_MY, EC_MOVE2(SURF), EC_WORD_BOARD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_M_1}
    },
    [FRONTIER_TRAINER_CIERRA] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_F,
        .trainerName = _("丽涟"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_SYNCHRONIZE, EC_WORD_AT, EC_WORD_SWIFT_SWIM, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WITH, EC_WORD_ME, EC_WORD_SYNCHRONIZE, EC_WORD_IS},
        .speechLose = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_SYNCHRONIZE, EC_WORD_LIKE, EC_WORD_BETTER, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_F_1}
    },
    [FRONTIER_TRAINER_MARCY] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_F,
        .trainerName = _("澄莹"),
        .speechBefore = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_STRONG, EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL},
        .speechWin = {EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_VERY, EC_WORD_STRONG, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_I_AM, EC_WORD_SAID, EC_WORD_THIS, EC_WORD_LIKELY_TO, EC_WORD_AREN_T, EC_WORD_FINISH},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_F_1}
    },
    [FRONTIER_TRAINER_KATHY] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_F,
        .trainerName = _("清儿"),
        .speechBefore = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_TODAY, EC_WORD_ALL_RIGHT, EC_WORD_MATCH, EC_WORD_EXCL},
        .speechWin = {EC_WORD_WON, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_AWESOME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_HUH_QUES, EC_WORD_ME, EC_WORD_NO, EC_WORD_SHOULD, EC_WORD_LOSS, EC_WORD_OF},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_F_1}
    },
    [FRONTIER_TRAINER_PEYTON] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("杉靖"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NEVER, EC_WORD_LEARN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_DISAPPOINTED},
        .speechWin = {EC_WORD_IF, EC_WORD_WE, EC_WORD_TOGETHER, EC_WORD_WINS, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_CRY},
        .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_ME, EC_WORD_WOULD, EC_WORD_GOING, EC_WORD_LIKES, EC_WORD_POKEMON},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_M_1}
    },
    [FRONTIER_TRAINER_JULIAN] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("治端"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_LIKES, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_TIMES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU_RE, EC_WORD_ABSOLUTELY, EC_WORD_NO, EC_WORD_SAYS, EC_WORD_OF, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_LIKES, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_M_1}
    },
    [FRONTIER_TRAINER_QUINN] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("明延"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_JUST, EC_WORD_A, EC_WORD_LIFE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THIS, EC_WORD_BE, EC_WORD_A, EC_WORD_BEAUTY, EC_WORD_OF, EC_WORD_LIFE},
        .speechLose = {EC_WORD_THIS, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_M_1}
    },
    [FRONTIER_TRAINER_HAYLEE] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("泽薇"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NO, EC_WORD_KNOWS, EC_WORD_ME, EC_WORD_SENSE, EC_WORD_FORGIVE},
        .speechWin = {EC_WORD_ME, EC_WORD_YEAH, EC_WORD_WAY, EC_WORD_JOY, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_SENSE, EC_WORD_MYSELF, EC_WORD_DESTROYED, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_F_1}
    },
    [FRONTIER_TRAINER_AMANDA] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("文馨"),
        .speechBefore = {EC_WORD_ME, EC_WORD_FEELING, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FAMILY, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WOULD, EC_WORD_TALK, EC_WORD_THIS, EC_WORD_VICTORY, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NOW, EC_WORD_JUST, EC_WORD_WANTS, EC_WORD_GO_HOME, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_F_1}
    },
    [FRONTIER_TRAINER_STACY] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("桐芳"),
        .speechBefore = {EC_WORD_ALL_RIGHT, EC_WORD_POKEMON, EC_WORD_UNDERSTOOD, EC_WORD_HAVE, EC_WORD_WHO, EC_WORD_BEAUTIFUL},
        .speechWin = {EC_WORD_YOU, EC_WORD_SLEPT, EC_WORD_ME, EC_WORD_OF, EC_WORD_MEAN, EC_WORD_QUES},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_SHOULD, EC_WORD_LIKES, EC_WORD_POKEMON, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_F_1}
    },
    // The below 6 are the early Pkmn Breeder class trainers, which use groups from other general classes
    [FRONTIER_TRAINER_RAFAEL] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("顺昶"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_FORGET, EC_WORD_LISTEN, EC_WORD_SPIRIT},
        .speechWin = {EC_WORD_FOE, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_EH_QUES, EC_WORD_SPIRIT, EC_WORD_EXCL},
        .speechLose = {EC_WORD_WE, EC_WORD_OF, EC_WORD_SPIRIT, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_EVERY, EC_WORD_YUP},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_OLIVER] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("培翔"),
        .speechBefore = {EC_WORD_GENIUS, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_WERE, EC_WORD_ME, EC_WORD_EXCL},
        .speechWin = {EC_WORD_GENIUS, EC_WORD_WERE, EC_WORD_EVERY, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_THAN, EC_WORD_ME, EC_WORD_LIKELY_TO, EC_WORD_WEREN_T, EC_WORD_GENIUS},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_PAYTON] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("汉平"),
        .speechBefore = {EC_WORD_ME, EC_WORD_FROM, EC_WORD_EGG, EC_WORD_BEGINNING, EC_WORD_TRAINS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DOES, EC_WORD_LIKE, EC_WORD_WELL, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THAT, EC_WORD_YEAH, EC_WORD_AWFUL, EC_WORD_OF, EC_WORD_LOSING, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_PAMELA] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("美颖"),
        .speechBefore = {EC_WORD_ALL_RIGHT, EC_WORD_POKEMON, EC_WORD_UNDERSTOOD, EC_WORD_LIKES, EC_WORD_KIND, EC_WORD_TRAINER},
        .speechWin = {EC_WORD_YOU, EC_WORD_LOST, EC_WORD_HAS, EC_WORD_WOW, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_WELL, EC_WORD_YOU, EC_WORD_ALSO, EC_WORD_VERY, EC_WORD_STRONG},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_ELIZA] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("珍霞"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_POKEMON, EC_WORD_JOKING, EC_WORD_MY, EC_WORD_CHILDREN},
        .speechWin = {EC_WORD_ME, EC_WORD_ALL, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_FIGHTS, EC_WORD_HAPPINESS},
        .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ME, EC_WORD_FOE, EC_WORD_THIS, EC_WORD_VERY, EC_WORD_PARDON},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_MARISA] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("春华"),
        .speechBefore = {EC_WORD_ME, EC_WORD_MESSAGE, EC_WORD_WOULD, EC_WORD_SERIOUS, EC_WORD_FIGHT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_CONCEDE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_BECOMES, EC_WORD_BETTER},
        .speechLose = {EC_WORD_PLEASE, EC_WORD_PROMISE, EC_WORD_ME, EC_MOVE(ENCORE), EC_WORD_FIGHT, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_LEWIS] = {
        .facilityClass = FACILITY_CLASS_BUG_CATCHER,
        .trainerName = _("荣泰"),
        .speechBefore = {EC_WORD_OFF, EC_WORD_SMALL, EC_WORD_BUG, EC_WORD_SCARY, EC_WORD_WAS, EC_WORD_HAHAHA},
        .speechWin = {EC_WORD_SEE, EC_WORD_EXCL, EC_WORD_OFF, EC_WORD_SCARY, EC_WORD_OF, EC_WORD_BUG},
        .speechLose = {EC_WORD_OH, EC_WORD_BUG, EC_WORD_NO, EC_WORD_SCARY, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_CATCHER_1_EXTRA(METAPOD, KAKUNA)}
    },
    [FRONTIER_TRAINER_YOSHI] = {
        .facilityClass = FACILITY_CLASS_BUG_CATCHER,
        .trainerName = _("嘉辅"),
        .speechBefore = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_FIGHTS, EC_WORD_CUTE},
        .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_BE, EC_WORD_BEST, EC_WORD_OF, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ABOUT, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_YOU, EC_WORD_VERY, EC_WORD_IGNORANT},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_CATCHER_1_EXTRA(SILCOON, CASCOON)}
    },
    [FRONTIER_TRAINER_DESTIN] = {
        .facilityClass = FACILITY_CLASS_BUG_CATCHER,
        .trainerName = _("伟文"),
        .speechBefore = {EC_WORD_HERE, EC_WORD_SORRY, EC_WORD_WAY, EC_WORD_HOT, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_LUKEWARM, EC_WORD_WEREN_T, EC_MOVE(OVERHEAT), EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_AGREE, EC_WORD_ME, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_WATER, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_CATCHER_1}
    },
    [FRONTIER_TRAINER_KEON] = {
        .facilityClass = FACILITY_CLASS_NINJA_BOY,
        .trainerName = _("铁辙"),
        .speechBefore = {EC_WORD_EXCUSE, EC_WORD_ME, EC_WORD_BUT, EC_WORD_HERE_I_COME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_EXCUSE, EC_WORD_ME, EC_WORD_THAT, EC_WORD_OVERWHELMING, EC_WORD_OF, EC_WORD_POWER},
        .speechLose = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_PARDON, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_NINJA_BOY_1}
    },
    [FRONTIER_TRAINER_STUART] = {
        .facilityClass = FACILITY_CLASS_NINJA_BOY,
        .trainerName = _("勇文"),
        .speechBefore = {EC_WORD_ME, EC_WORD_MESSAGE, EC_WORD_FIGHT, EC_WORD_WOULD, EC_WORD_VERY, EC_WORD_FIERY},
        .speechWin = {EC_WORD_COOL, EC_WORD_MASTER, EC_WORD_THAT, EC_WORD_WERE, EC_WORD_ME, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_SEEMS, EC_WORD_ME, EC_WORD_AREN_T, EC_WORD_WELL_THEN, EC_WORD_OF, EC_WORD_COOL},
        .monSet = (const u16[]){FRONTIER_MONS_NINJA_BOY_1}
    },
    [FRONTIER_TRAINER_NESTOR] = {
        .facilityClass = FACILITY_CLASS_NINJA_BOY,
        .trainerName = _("悟朗"),
        .speechBefore = {EC_WORD_GIVE_ME, EC_WORD_SEE, EC_WORD_TRULY, EC_WORD_SKILLED, EC_WORD_OF, EC_WORD_MOVE},
        .speechWin = {EC_WORD_A_LITTLE, EC_WORD_ALSO, EC_WORD_NO, EC_WORD_SKILLED, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_SKILLED, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_NINJA_BOY_1}
    },
    [FRONTIER_TRAINER_DERRICK] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("忠祐"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_TOGETHER, EC_MOVE2(CALM_MIND), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_MOVE2(CALM_MIND), EC_WORD_OF, EC_WORD_GRAAAH, EC_WORD_YEAH, EC_WORD_BEAUTY},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_MOVE2(CALM_MIND), EC_WORD_COME, EC_WORD_COOLNESS, EC_WORD_SMARTNESS},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_1}
    },
    [FRONTIER_TRAINER_BRYSON] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("芳士"),
        .speechBefore = {EC_WORD_OUR, EC_MOVE2(COTTON_SPORE), EC_WORD_MOVE, EC_WORD_INSIDE, EC_WORD_HAVE, EC_MOVE2(POISON_POWDER)},
        .speechWin = {EC_WORD_YOU, EC_WORD_LIKES, EC_WORD_OUR, EC_MOVE2(POISON_POWDER), EC_WORD_DID, EC_WORD_QUES},
        .speechLose = {EC_WORD_MY, EC_MOVE2(COTTON_SPORE), EC_WORD_HAVEN_T, EC_WORD_EATS, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_1}
    },
    [FRONTIER_TRAINER_CLAYTON] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("叔平"),
        .speechBefore = {EC_WORD_HUH_QUES, EC_EMPTY_WORD, EC_WORD_THIS, EC_WORD_BE, EC_WORD_WHERE, EC_WORD_WALKING},
        .speechWin = {EC_WORD_MY, EC_WORD_POKENAV, EC_WORD_ON, EC_WORD_WHERE, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_DOWN, EC_WORD_WHERE, EC_WORD_QUES, EC_WORD_ME, EC_WORD_FAINTED, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_1}
    },
    [FRONTIER_TRAINER_TRENTON] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("洲和"),
        .speechBefore = {EC_WORD_COME, EC_WORD_LISTEN, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_YUP, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MMM, EC_WORD_YOU, EC_WORD_WANTS, EC_WORD_SOME, EC_WORD_DID, EC_WORD_QUES},
        .speechLose = {EC_WORD_ME, EC_WORD_SHOPPING, EC_WORD_GET, EC_WORD_IS, EC_WORD_TASTY, EC_WORD_WATER},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_1}
    },
    [FRONTIER_TRAINER_JENSON] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("义清"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WOULD, EC_WORD_LEARN, EC_WORD_YOU, EC_WORD_DOWNCAST},
        .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LIKELY_TO, EC_WORD_DRINK, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_DOWNCAST, EC_WORD_OF, EC_WORD_TRAINER, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_1}
    },
    [FRONTIER_TRAINER_WESLEY] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("淇云"),
        .speechBefore = {EC_POKEMON_NATIONAL(MEOWTH), EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_EVERY, EC_WORD_CRIES, EC_WORD_OF},
        .speechWin = {EC_WORD_YES, EC_WORD_ME, EC_WORD_KNOWS, EC_WORD_ME, EC_WORD_VERY, EC_WORD_CUTE},
        .speechLose = {EC_POKEMON_NATIONAL(MEOWTH), EC_WORD_EXCL, EC_EMPTY_WORD, EC_POKEMON_NATIONAL(MEOWTH), EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_1}
    },
    [FRONTIER_TRAINER_ANTON] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("札克"),
        .speechBefore = {EC_WORD_READY, EC_WORD_LEARN, EC_WORD_ME, EC_MOVE(THRASH), EC_WORD_IS, EC_WORD_WAS},
        .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_PARDON, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS, EC_WORD_LOSING, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_APPEAR, EC_MOVE2(SWALLOW)},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_1}
    },
    [FRONTIER_TRAINER_LAWSON] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("波加尔"),
        .speechBefore = {EC_WORD_MY, EC_WORD_HEART, EC_WORD_LIKELY_TO, EC_WORD_YOUNG, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_NO, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_TOTALLY, EC_WORD_NO, EC_WORD_COOL},
        .speechLose = {EC_WORD_ME, EC_WORD_OLD, EC_WORD_IS, EC_WORD_CLEAR_BODY, EC_WORD_SHAKY, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_1}
    },
    [FRONTIER_TRAINER_SAMMY] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("彰枫"),
        .speechBefore = {EC_WORD_MY, EC_WORD_CUTENESS, EC_WORD_READY, EC_WORD_SONGS, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_CUTENESS, EC_WORD_YEAH, EC_WORD_INCREDIBLE, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_ALL, EC_WORD_MY, EC_WORD_CUTENESS, EC_WORD_CRIES, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_1}
    },
    // The below 3 are the early Collector class trainers, which use groups from other general classes
    [FRONTIER_TRAINER_ARNIE] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("子富"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_OPPONENT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_LOOKS, EC_WORD_QUES, EC_WORD_ME, EC_WORD_WON_T, EC_WORD_LOSS},
        .speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WON_T, EC_WORD_ACCEPT, EC_WORD_OF},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_ADRIAN] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("盛泰"),
        .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_SMELL_YA, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_SMELL_YA, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_TRISTAN] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("蒂姆"),
        .speechBefore = {EC_WORD_CONFUSED, EC_WORD_WAS, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_QUES, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
        .speechLose = {EC_WORD_ME, EC_WORD_AREN_T, EC_WORD_A, EC_WORD_FIGHT, EC_WORD_GENIUS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_JULIANA] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("翠荟"),
        .speechBefore = {EC_WORD_ME, EC_WORD_MISS, EC_WORD_ME, EC_WORD_SHOPPING, EC_WORD_WAY, EC_WORD_DIDN_T},
        .speechWin = {EC_WORD_BUT, EC_WORD_ME, EC_WORD_WANTS, EC_WORD_OFF, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
        .speechLose = {EC_WORD_ME, EC_WORD_HAS, EC_WORD_WANTS, EC_WORD_ELSE, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_1}
    },
    [FRONTIER_TRAINER_RYLEE] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("罗苹"),
        .speechBefore = {EC_WORD_GIVE_ME, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_OF, EC_WORD_GUTS, EC_WORD_EXCL},
        .speechWin = {EC_WORD_SMELL_YA, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_HAVEN_T, EC_WORD_GUTS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_HELLO, EC_WORD_GUTSY, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_AWESOME},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_1}
    },
    [FRONTIER_TRAINER_CHELSEA] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("雅丝敏"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ARE, EC_WORD_REALLY, EC_WORD_MISS, EC_WORD_WINS, EC_WORD_EXCL},
        .speechWin = {EC_WORD_THIS, EC_WORD_WERE, EC_WORD_ME, EC_WORD_WIN, EC_WORD_OF, EC_WORD_SPIRIT},
        .speechLose = {EC_WORD_YOU, EC_WORD_FOE, EC_WORD_ME, EC_WORD_COME, EC_WORD_SAID, EC_WORD_TOO_STRONG},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_1}
    },
    // The below 3 are the early Beauty class trainers, which use groups from other general classes
    [FRONTIER_TRAINER_DANELA] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("楠云"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_ME, EC_WORD_NOW, EC_WORD_OF, EC_WORD_OPPONENT},
        .speechWin = {EC_WORD_OH_DEAR, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL},
        .speechLose = {EC_WORD_THAT, EC_WORD_VERY, EC_WORD_NICE, EC_WORD_SMELL_YA, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_1}
    },
    [FRONTIER_TRAINER_LIZBETH] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("雅咏"),
        .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_GET, EC_WORD_A, EC_MOVE2(PRESENT)},
        .speechWin = {EC_WORD_GIMME, EC_WORD_YOU, EC_WORD_A_LITTLE, EC_WORD_PRAISE, EC_WORD_AS, EC_MOVE2(PRESENT)},
        .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES_EXCL, EC_WORD_GIMME, EC_WORD_YOU, EC_MOVE(DOUBLE_SLAP)},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_1}
    },
    [FRONTIER_TRAINER_AMELIA] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("幼蓉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_BELIEVE, EC_WORD_CUTE, EC_WORD_OF, EC_WORD_FASHION, EC_WORD_BEAUTIFUL},
        .speechWin = {EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_WILL_BE_HERE, EC_WORD_YEAH, EC_WORD_GO, EC_WORD_DISASTER},
        .speechLose = {EC_WORD_YEAH, EC_WORD_AWFUL, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_GO_HOME},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_1}
    },
    [FRONTIER_TRAINER_JILLIAN] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("玫馥"),
        .speechBefore = {EC_WORD_ME, EC_WORD_SMELL, EC_WORD_TO, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_QUES},
        .speechWin = {EC_WORD_THIS, EC_WORD_AS_IF, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_OF, EC_MOVE(SWEET_SCENT)},
        .speechLose = {EC_WORD_BE, EC_WORD_YOUR, EC_WORD_STENCH, EC_WORD_EXCL, EC_WORD_THAT_WAS, EC_WORD_WHAT},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_1}
    },
    [FRONTIER_TRAINER_ABBIE] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("薇霏"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_THINK, EC_WORD_MY, EC_WORD_SECRET, EC_MOVE(AROMATHERAPY), EC_WORD_OK_QUES},
        .speechWin = {EC_WORD_MY, EC_MOVE(AROMATHERAPY), EC_WORD_FOE, EC_WORD_YOU, EC_WORD_VERY, EC_WORD_AWFUL},
        .speechLose = {EC_WORD_YOU, EC_WORD_TOTALLY, EC_WORD_HAVEN_T, EC_WORD_SMELL, EC_WORD_TO, EC_WORD_QUES_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_1}
    },
    [FRONTIER_TRAINER_BRIANA] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("梅丽"),
        .speechBefore = {EC_WORD_MY, EC_WORD_DUDE, EC_WORD_FRIEND, EC_WORD_WORKING, EC_WORD_WAY, EC_WORD_DIDN_T},
        .speechWin = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_WOULD, EC_WORD_GOING, EC_WORD_MISS, EC_WORD_HE},
        .speechLose = {EC_WORD_HAVEN_T, EC_WORD_HE, EC_WORD_ME, EC_WORD_HAS, EC_WORD_LONESOME, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_1}
    },
    [FRONTIER_TRAINER_ANTONIO] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("达伦"),
        .speechBefore = {EC_WORD_ME, EC_WORD_KNOWS, EC_WORD_HOW_DO, EC_WORD_SHAKE, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_BUT, EC_WORD_ME, EC_WORD_NO, EC_WORD_LIKES, EC_WORD_DANCE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_SHAKE, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_MOVE(FLAIL), EC_WORD_EEK, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_1}
    },
    [FRONTIER_TRAINER_JADEN] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("嘉钧"),
        .speechBefore = {EC_WORD_HELLO, EC_WORD_ME, EC_WORD_MISS, EC_WORD_ME, EC_WORD_LIKES, EC_WORD_YOU},
        .speechWin = {EC_WORD_YOU, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_SAD, EC_WORD_WANTS, EC_MOVE(THRASH)},
        .speechLose = {EC_WORD_THIS_IS_IT_EXCL, EC_WORD_EVERY, EC_WORD_EXCL, EC_WORD_FOREVER, EC_WORD_SMELL_YA, EC_WORD_YUP},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_1}
    },
    [FRONTIER_TRAINER_DAKOTA] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("廷腾"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_EXISTS, EC_WORD_RELEASE, EC_WORD_DANCE, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SLEPT, EC_WORD_DID, EC_WORD_QUES, EC_WORD_RELEASE, EC_WORD_DANCE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_OKAY, EC_WORD_YOU, EC_WORD_SLEPT, EC_WORD_IS, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_1}
    },
    [FRONTIER_TRAINER_BRAYDEN] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("巴西"),
        .speechBefore = {EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_BE, EC_WORD_USELESS, EC_WORD_EXCL},
        .speechWin = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_COLLECT, EC_WORD_DROOLING, EC_WORD_VERSION, EC_WORD_TOYS},
        .speechLose = {EC_WORD_PERFECT, EC_WORD_BE, EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_1}
    },
    [FRONTIER_TRAINER_CORSON] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("诺慎"),
        .speechBefore = {EC_WORD_TERRIBLE, EC_WORD_ME, EC_WORD_DECIDED, EC_WORD_YOU, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YEAH, EC_WORD_SIMPLE, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_YEAH, EC_WORD_COOL},
        .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_MOVE2(CURSE), EC_WORD_YOU},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_1}
    },
    [FRONTIER_TRAINER_TREVIN] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("马隆"),
        .speechBefore = {EC_WORD_HAVEN_T, EC_WORD_THAN, EC_WORD_ME, EC_WORD_BETTER, EC_WORD_OF, EC_WORD_IS},
        .speechWin = {EC_WORD_YES_SIR_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_BEST, EC_WORD_OF},
        .speechLose = {EC_WORD_SERIOUS, EC_WORD_OF, EC_WORD_QUES_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_1}
    },
    [FRONTIER_TRAINER_PATRICK] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("强尼"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_PERFECTION, EC_WORD_OF, EC_WORD_EXCL, EC_WORD_GIVE_UP, EC_WORD_YUP},
        .speechWin = {EC_WORD_DON_T, EC_WORD_DISAPPOINTED, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_PERFECTION, EC_WORD_OF},
        .speechLose = {EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_PERFECTION, EC_WORD_OF},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_1}
    },
    [FRONTIER_TRAINER_KADEN] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("武毅"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_ON, EC_WORD_BUSY, EC_WORD_WHAT, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_YEAH, EC_WORD_A, EC_WORD_SURPRISE, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_KNOWS, EC_WORD_I_AM, EC_WORD_WHOM, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_1}
    },
    [FRONTIER_TRAINER_MAXWELL] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("叔涌"),
        .speechBefore = {EC_WORD_HELLO, EC_WORD_WHO_IS, EC_WORD_YOUR, EC_WORD_RIVAL, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_RIVAL, EC_WORD_BE, EC_WORD_MY, EC_WORD_THEY, EC_WORD_FRIEND},
        .speechLose = {EC_WORD_ME, EC_WORD_DO, EC_WORD_YOU, EC_WORD_AS, EC_WORD_MY, EC_WORD_RIVAL},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_1}
    },
    [FRONTIER_TRAINER_DARYL] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("日嵩"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_KNOWS, EC_WORD_HOW_DO, EC_WORD_RUN, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_I_AM, EC_WORD_AREN_T, EC_WORD_WAY, EC_WORD_STRONG, EC_WORD_IS, EC_WORD_QUES},
        .speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_ENJOYS, EC_WORD_A, EC_WORD_LEGEND, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_1}
    },
    [FRONTIER_TRAINER_KENNETH] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("艾密尔"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_BEST, EC_WORD_DON_T, EC_WORD_FOE, EC_WORD_ME, EC_MOVE2(SLACK_OFF)},
        .speechWin = {EC_WORD_MY, EC_MOVE2(TAUNT), EC_WORD_INTIMIDATE, EC_WORD_TO, EC_WORD_YOU, EC_WORD_SNORT},
        .speechLose = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_PARDON, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_1}
    },
    [FRONTIER_TRAINER_RICH] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("壮峰"),
        .speechBefore = {EC_WORD_YOUR, EC_WORD_SUPER, EC_WORD_APPEAR, EC_WORD_ANGER, EC_WORD_ME, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SAID, EC_WORD_REALLY, EC_WORD_YOU, EC_WORD_LIKELY_TO, EC_WORD_OK_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_FOE, EC_WORD_ME, EC_WORD_COME, EC_WORD_SAID, EC_WORD_HAS, EC_WORD_HARD},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_1}
    },
    [FRONTIER_TRAINER_CADEN] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("文耀"),
        .speechBefore = {EC_WORD_ME, EC_WORD_IMPOSSIBLE, EC_WORD_DEFEATED, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_FLAME, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_FLAME, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_HAS, EC_WORD_TIRED, EC_WORD_ELLIPSIS, EC_WORD_HAS, EC_WORD_HOT},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_1}
    },
    [FRONTIER_TRAINER_MARLON] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("晨宇"),
        .speechBefore = {EC_WORD_POKEDEX, EC_WORD_I, EC_WORD_SMALL, EC_WORD_RADIO, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_SMALL, EC_WORD_RADIO, EC_WORD_QUES, EC_WORD_WAY, EC_WORD_COOL, EC_WORD_IS},
        .speechLose = {EC_WORD_THAT, EC_WORD_BE, EC_WORD_QUES, EC_WORD_BE, EC_WORD_POKENAV, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_1}
    },
    [FRONTIER_TRAINER_NASH] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("孟辉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ON, EC_WORD_AT, EC_WORD_FLAME, EC_WORD_BABY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_GIMME, EC_WORD_YOU, EC_WORD_WORKS, EC_MOVE2(EMBER)},
        .speechLose = {EC_WORD_AWW, EC_WORD_EXCL_EXCL, EC_WORD_ME, EC_WORD_DON_T, EC_WORD_WATER, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_1}
    },
    [FRONTIER_TRAINER_ROBBY] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
        .trainerName = _("亚武"),
        .speechBefore = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_MEET_YOU, EC_WORD_VERY, EC_WORD_HAPPY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_I_AM, EC_WORD_LEADER, EC_EMPTY_WORD, EC_WORD_REFRESHING, EC_WORD_SO, EC_WORD_PSYCHIC},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_BREAK, EC_WORD_MY, EC_WORD_TOYS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_REECE] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
        .trainerName = _("戴瑞克"),
        .speechBefore = {EC_WORD_MY, EC_MOVE2(QUICK_ATTACK), EC_WORD_THAN, EC_MOVE2(TELEPORT), EC_WORD_LIKELY_TO, EC_WORD_LUKEWARM},
        .speechWin = {EC_WORD_JOKING, EC_WORD_ME, EC_WORD_SAID, EC_WORD_OF, EC_WORD_AN, EC_WORD_FAST},
        .speechLose = {EC_MOVE2(TELEPORT), EC_WORD_BE, EC_WORD_I_WAS, EC_WORD_KIDDING, EC_WORD_OF, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_KATHRYN] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
        .trainerName = _("美乐笛"),
        .speechBefore = {EC_WORD_ME, EC_WORD_TRAINS, EC_WORD_LIKELY_TO, EC_WORD_DRINK, EC_WORD_HAS, EC_WORD_QUES},
        .speechWin = {EC_WORD_DON_T, EC_WORD_EVERY, EC_MOVE2(TAUNT), EC_WORD_ME, EC_WORD_OK_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WHY, EC_WORD_ME, EC_WORD_WINS, EC_WORD_NO, EC_WORD_IS, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_ELLEN] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
        .trainerName = _("漫夏"),
        .speechBefore = {EC_WORD_JOKING, EC_WORD_CRUSH, EC_WORD_EGG, EC_WORD_AN, EC_WORD_CRUSH, EC_WORD_YOU},
        .speechWin = {EC_WORD_FOE, EC_WORD_ME, EC_WORD_COME, EC_WORD_SAID, EC_WORD_YEAH, EC_WORD_AWESOME},
        .speechLose = {EC_WORD_WAY, EC_WORD_SHELL_ARMOR, EC_WORD_IS, EC_WORD_APPEAR, EC_WORD_CRUSH, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_RAMON] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
        .trainerName = _("卡洛斯"),
        .speechBefore = {EC_WORD_OKAY, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_THIS, EC_WORD_YEAH, EC_WORD_PERFECTION},
        .speechWin = {EC_WORD_ME, EC_WORD_WON, EC_WORD_WAY, EC_WORD_HAPPY, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_WHY, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_SECRET, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_ARTHUR] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
        .trainerName = _("肯特"),
        .speechBefore = {EC_WORD_HERE_I_COME, EC_WORD_EXCL, EC_WORD_SENSE, EC_WORD_BEEN, EC_WORD_READY, EC_WORD_IS},
        .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_AWESOME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THAT, EC_WORD_AREN_T, EC_WORD_ME, EC_WORD_WANTS, EC_WORD_OF, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_ALONDRA] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
        .trainerName = _("莉露"),
        .speechBefore = {EC_WORD_ANOTHER, EC_WORD_NATURALLY, EC_WORD_GREAT, EC_WORD_OF, EC_WORD_END, EC_WORD_EXCL},
        .speechWin = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_WILL, EC_WORD_BE, EC_WORD_A, EC_WORD_LEGEND},
        .speechLose = {EC_MOVE2(DIVE), EC_WORD_LEARN, EC_WORD_ME, EC_WORD_CLEAR_BODY, EC_WORD_ICE, EC_WORD_COLD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_ADRIANA] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
        .trainerName = _("英珠"),
        .speechBefore = {EC_WORD_COME, EC_WORD_LOOKS, EC_WORD_INCREDIBLE, EC_WORD_OF, EC_WORD_SWIFT_SWIM, EC_WORD_EXCL},
        .speechWin = {EC_WORD_ME, EC_WORD_LEARN, EC_WORD_IT, EC_WORD_SEEMS, EC_WORD_VERY, EC_WORD_GOT},
        .speechLose = {EC_WORD_ME, EC_WORD_FIGHTS, EC_WORD_HAS, EC_WORD_TIRED, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_MALIK] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
        .trainerName = _("超宇"),
        .speechBefore = {EC_WORD_OH, EC_WORD_ISN_T, EC_WORD_GO_AHEAD, EC_WORD_FIGHT, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .speechWin = {EC_WORD_FINALLY, EC_WORD_WON, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_HAS, EC_WORD_TIRED},
        .speechLose = {EC_WORD_ME, EC_WORD_FINALLY, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_HAS, EC_WORD_TIRED},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_JILL] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
        .trainerName = _("嘉儿"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_FAST, EC_WORD_ATTACK, EC_WORD_TRAINER, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_FAST, EC_WORD_ATTACK, EC_WORD_TRAINER, EC_WORD_WON, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_FAST, EC_WORD_ATTACK, EC_WORD_TRAINER, EC_WORD_GIVE_UP, EC_WORD_IS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_1}
    },
    [FRONTIER_TRAINER_ERIK] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
        .trainerName = _("国卫"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_HEY_THERE, EC_WORD_YOU, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, EC_WORD_NO, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_YAZMIN] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
        .trainerName = _("素娜"),
        .speechBefore = {EC_WORD_START, EC_WORD_BIKE, EC_WORD_ME, EC_WORD_GOING, EC_WORD_LIKES, EC_WORD_RUNS},
        .speechWin = {EC_WORD_YES, EC_WORD_ME, EC_WORD_GOING, EC_WORD_MISS, EC_WORD_RUNS, EC_WORD_IS},
        .speechLose = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_RUN_AWAY, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_RUNNING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_JAMAL] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
        .trainerName = _("比尔"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_WHILE, EC_WORD_FATHER, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WANT, EC_WORD_WANTS, EC_WORD_CHILDREN, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_WORD_CHILDREN, EC_WORD_WOULD, EC_WORD_GREAT, EC_WORD_OF, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_LESLIE] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
        .trainerName = _("卡莉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_WHILE, EC_WORD_MOTHER, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_CHILDREN, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_A, EC_WORD_SMALL, EC_WORD_CHALLENGE},
        .speechLose = {EC_WORD_ME, EC_WORD_HAS, EC_WORD_HAPPY, EC_WORD_TOTALLY, EC_WORD_NO, EC_WORD_ANGRY},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_DAVE] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
        .trainerName = _("厦门"),
        .speechBefore = {EC_WORD_ME, EC_WORD_TODAY, EC_WORD_SHOULD, EC_WORD_DOES, EC_WORD_WHAT, EC_WORD_QUES},
        .speechWin = {EC_WORD_ME, EC_WORD_SHOULD, EC_WORD_ENJOY, EC_WORD_SOME, EC_WORD_SPORTS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_WENT, EC_WORD_PLAY, EC_WORD_GAME, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_CARLO] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
        .trainerName = _("甚平"),
        .speechBefore = {EC_WORD_HAH, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_DONE, EC_WORD_THOSE_WERE, EC_MOVE(EXTREME_SPEED), EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_MOVE(EXTREME_SPEED), EC_WORD_TOO, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_EMILIA] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
        .trainerName = _("嘉莉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_QUES, EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_EXCL},
        .speechWin = {EC_WORD_AHAHA, EC_WORD_LOOKS, EC_WORD_EXCL, EC_WORD_YEAH, EC_WORD_AWESOME, EC_WORD_EXCL},
        .speechLose = {EC_WORD_AHAHA, EC_WORD_SEES, EC_WORD_SNORT, EC_WORD_YEAH, EC_WORD_FUNNY, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_DALIA] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
        .trainerName = _("惠绵"),
        .speechBefore = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_BE, EC_WORD_VERY, EC_WORD_EXPENSIVE, EC_WORD_OF},
        .speechWin = {EC_WORD_DON_T, EC_WORD_AND, EC_WORD_MY, EC_WORD_BIKE, EC_WORD_WELL_THEN, EC_WORD_NEAR},
        .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_BE, EC_WORD_BEST, EC_WORD_OF, EC_WORD_FRIEND},
        .monSet = (const u16[]){FRONTIER_MONS_CYCLING_TRIATHLETE_2}
    },
    [FRONTIER_TRAINER_HITOMI] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("一涛"),
        .speechBefore = {EC_WORD_YES, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD, EC_WORD_HAH, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_WON, EC_WORD_QUES_EXCL},
        .speechLose = {EC_WORD_OOPS, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD, EC_WORD_YEAH, EC_WORD_PARDON, EC_WORD_EXCL_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_RICARDO] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("康顺"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_GAME, EC_WORD_TIME, EC_WORD_FINISH, EC_WORD_IS},
        .speechWin = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_UNDERSTANDS, EC_WORD_IS, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_AGREE, EC_WORD_DON_T, EC_WORD_HIT, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_SHIZUKA] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("强威"),
        .speechBefore = {EC_WORD_LEARN, EC_WORD_ME, EC_WORD_KNOWS, EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_OF},
        .speechWin = {EC_WORD_ME, EC_WORD_WON_T, EC_WORD_FORGETS, EC_WORD_YOU, EC_WORD_OF, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_YEAH, EC_WORD_WAY, EC_WORD_PERFECTION, EC_WORD_IS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_JOANA] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("智夏"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_DAY, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WEREN_T, EC_WORD_LOSS, EC_WORD_IS},
        .speechWin = {EC_WORD_I_AM, EC_WORD_WINNER, EC_WORD_LISTENING, EC_WORD_ME, EC_MOVE2(ROAR), EC_WORD_YUP},
        .speechLose = {EC_WORD_ME, EC_WORD_REFUSE, EC_WORD_ACCEPT, EC_WORD_THIS, EC_MOVE(RAGE), EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_KELLY] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("媚华"),
        .speechBefore = {EC_WORD_MY, EC_WORD_NIGHT, EC_WORD_SCHOOL, EC_WORD_BE, EC_WORD_REALLY, EC_WORD_SCARY},
        .speechWin = {EC_WORD_A, EC_WORD_LADY, EC_WORD_GHOST, EC_WORD_APPEARS, EC_WORD_ON, EC_WORD_THERE},
        .speechLose = {EC_WORD_MACHINE, EC_WORD_YEAH, EC_WORD_WAY, EC_WORD_SCARY, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_RAYNA] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("光珍"),
        .speechBefore = {EC_WORD_POWER, EC_WORD_THOSE_ARE, EC_WORD_I_AM, EC_WORD_NO_1, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_NOW, EC_WORD_SLEPT, EC_WORD_MY, EC_WORD_POWER, EC_WORD_SNORT, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_AWFUL, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_YEAH, EC_WORD_AWFUL, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1}
    },
    [FRONTIER_TRAINER_EVAN] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("鑫景"),
        .speechBefore = {EC_WORD_EVEN_SO, EC_WORD_GO, EC_WORD_FIGHT, EC_WORD_HAVE, EC_WORD_MAKING, EC_WORD_EXCL},
        .speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_WORD_VICTORY, EC_WORD_OF, EC_MOVE(SWEET_SCENT), EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS, EC_WORD_AWFUL, EC_WORD_OF, EC_WORD_LOSING, EC_WORD_STENCH, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1A}
    },
    [FRONTIER_TRAINER_JORDAN] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("泰权"),
        .speechBefore = {EC_WORD_GOOD, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_COME_ON, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_APPEAR, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, EC_EMPTY_WORD, EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1B}
    },
    [FRONTIER_TRAINER_JOEL] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("大猛"),
        .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1C}
    },
    [FRONTIER_TRAINER_KRISTEN] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("诗珠"),
        .speechBefore = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_A, EC_WORD_CHILDREN, EC_WORD_ELLIPSIS},
        .speechWin = {EC_WORD_THAT_S, EC_WORD_JUST, EC_WORD_A, EC_WORD_CHILDREN, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_STRONG, EC_WORD_OF, EC_WORD_CHILDREN, EC_WORD_WAS, EC_WORD_HUMPH, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1A}
    },
    [FRONTIER_TRAINER_SELPHY] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("奥莲"),
        .speechBefore = {EC_WORD_HUH_QUES, EC_WORD_BE, EC_WORD_WHAT, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_OH, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NO, EC_WORD_QUES},
        .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NO, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1B}
    },
    [FRONTIER_TRAINER_CHLOE] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("瑾秀"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_WE, EC_WORD_NOW, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_FIGHT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_GO_AHEAD, EC_WORD_EXCL, EC_WORD_GO_AHEAD, EC_WORD_FIGHT, EC_WORD_GO, EC_WORD_EXCL},
        .speechLose = {EC_WORD_OH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_YOU, EC_WORD_YEAH, EC_WORD_STRONG},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_1C}
    },
    [FRONTIER_TRAINER_NORTON] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("悠理"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_KNOWS, EC_WORD_YOU, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_WINS, EC_WORD_YOU, EC_WORD_PUSHOVER, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_AWESOME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_LUKAS] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("寒雄"),
        .speechBefore = {EC_WORD_MY, EC_WORD_KIDDING, EC_WORD_YEAH, EC_WORD_AWFUL, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_WILL, EC_WORD_WOULD, EC_MOVE2(FLASH), EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_ON, EC_MOVE2(FLASH), EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_ZACH] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("庄谨"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_EXCELLENT, EC_WORD_OF, EC_WORD_POKEMON, EC_MOVE2(MIMIC), EC_WORD_SHE_IS},
        .speechWin = {EC_WORD_ME, EC_WORD_HAPPY, EC_WORD_LIKE, EC_WORD_AS_IF, EC_POKEMON_NATIONAL(TOGEPI), EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_JOKING, EC_POKEMON_NATIONAL(MANKEY), EC_WORD_AN, EC_WORD_ANGRY, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_KAITLYN] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("薇薇安"),
        .speechBefore = {EC_WORD_ME, EC_WORD_EATS, EC_WORD_SHINE, EC_WORD_POWER, EC_WORD_CRUSH, EC_WORD_CARES},
        .speechWin = {EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_WOULD, EC_WORD_ENJOYS, EC_WORD_NEWS},
        .speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_NO, EC_WORD_SAYS},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_BREANNA] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("萝莎"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_EXCL},
        .speechWin = {EC_WORD_GO_AHEAD, EC_WORD_COME, EC_WORD_SOME, EC_WORD_EVERY, EC_WORD_OF, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_AT, EC_WORD_GUTS, EC_WORD_AND, EC_WORD_SKILL},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_KENDRA] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("娜莉丝"),
        .speechBefore = {EC_WORD_IF, EC_WORD_YOU, EC_WORD_SMART, EC_WORD_NOW, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_STOP},
        .speechWin = {EC_WORD_ME, EC_WORD_SAID, EC_WORD_IS, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_STOP},
        .speechLose = {EC_WORD_WHY, EC_WORD_YOU, EC_WORD_HAVEN_T, EC_WORD_STOP, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_1}
    },
    [FRONTIER_TRAINER_MOLLY] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("天宁"),
        .speechBefore = {EC_WORD_MY, EC_WORD_BEAUTIFUL, EC_WORD_WOULD, EC_WORD_MEET, EC_WORD_YOU, EC_WORD_WAS},
        .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_NOW, EC_WORD_BE, EC_WORD_MY, EC_WORD_TOYS},
        .speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_HOW_DO, EC_WORD_USING, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_1}
    },
    [FRONTIER_TRAINER_JAZMIN] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("乃羽"),
        .speechBefore = {EC_WORD_ME, EC_MOVE2(FUTURE_SIGHT), EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_MEETS, EC_WORD_UNDERSTAND},
        .speechWin = {EC_WORD_ME, EC_WORD_OF, EC_MOVE2(FUTURE_SIGHT), EC_WORD_NO, EC_WORD_FOE, EC_WORD_WAS},
        .speechLose = {EC_WORD_MY, EC_MOVE2(FUTURE_SIGHT), EC_WORD_HAVEN_T, EC_WORD_SHOW, EC_WORD_THESE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_1}
    },
    [FRONTIER_TRAINER_KELSEY] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("蜜莎"),
        .speechBefore = {EC_WORD_ME, EC_WORD_MUCH, EC_WORD_DAYS, EC_WORD_HAVEN_T, EC_MOVE2(REST), EC_WORD_IS},
        .speechWin = {EC_WORD_NOW, EC_WORD_USING, EC_WORD_HAS, EC_WORD_HAS, EC_MOVE2(REST), EC_WORD_IS},
        .speechLose = {EC_WORD_MY, EC_MOVE2(REST), EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_1}
    },
    [FRONTIER_TRAINER_JALEN] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("豪树"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NO, EC_WORD_ALLOW, EC_WORD_POKEMON, EC_MOVE(THRASH), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_SNORT, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WHY, EC_WORD_WOULD, EC_WORD_WHEN, EC_WORD_HARD, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_1}
    },
    [FRONTIER_TRAINER_GRIFFEN] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("建雄"),
        .speechBefore = {EC_WORD_ME, EC_MOVE2(SWALLOW), EC_WORD_LIQUID_OOZE, EC_WORD_COME, EC_WORD_CHANGE, EC_WORD_MYSELF},
        .speechWin = {EC_WORD_ME, EC_MOVE(GROWTH), EC_WORD_BACK, EC_WORD_IS, EC_MOVE2(ACID_ARMOR), EC_WORD_BATTLE_ARMOR},
        .speechLose = {EC_WORD_ME, EC_MOVE(GROWTH), EC_WORD_BACK, EC_WORD_SUCTION_CUPS, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_1}
    },
    [FRONTIER_TRAINER_XANDER] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("贺刚"),
        .speechBefore = {EC_WORD_ME, EC_WORD_RENTAL, EC_WORD_GET, EC_WORD_IS, EC_WORD_POKEMON, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YEAH, EC_WORD_INCREDIBLE, EC_WORD_MY, EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_WON},
        .speechLose = {EC_WORD_RENTAL, EC_WORD_OF, EC_WORD_POKEMON, EC_WORD_DRINK, EC_WORD_STRONG, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_1}
    },
    [FRONTIER_TRAINER_MARVIN] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("波氏"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_USING, EC_WORD_ACCEPT, EC_WORD_CHALLENGE, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_ME, EC_WORD_USE, EC_WORD_YOU, EC_WORD_DRINK, EC_WORD_HAS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_SENSE, EC_WORD_NICE, EC_WORD_EXCL, EC_WORD_AWFULLY, EC_WORD_HEY_THERE},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_1A}
    },
    [FRONTIER_TRAINER_BRENNAN] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("积克"),
        .speechBefore = {EC_WORD_ME, EC_WORD_MISS, EC_WORD_SEE, EC_WORD_NEWS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DRIZZLE, EC_WORD_WOULD, EC_WORD_LEARN, EC_WORD_COMICS, EC_WORD_DAMP, EC_WORD_QUES},
        .speechLose = {EC_WORD_MONEY, EC_WORD_TIGHT, EC_WORD_OF, EC_WORD_LIVING, EC_WORD_CHANNEL, EC_WORD_QUES_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_1B}
    },
    [FRONTIER_TRAINER_BALEY] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("彦哲"),
        .speechBefore = {EC_MOVE(SCREECH), EC_WORD_TO_ME, EC_WORD_COME, EC_WORD_SAID, EC_WORD_JOKING, EC_WORD_MUSIC},
        .speechWin = {EC_WORD_MY, EC_MOVE(SCREECH), EC_WORD_STRATEGY, EC_WORD_YEAH, EC_WORD_AWESOME, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_SOUNDPROOF, EC_WORD_DID, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_2}
    },
    [FRONTIER_TRAINER_ZACKARY] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("恭扬"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(DIG), EC_WORD_DID, EC_WORD_QUES, EC_WORD_YO},
        .speechWin = {EC_WORD_VICTORY, EC_WORD_EXCL, EC_WORD_WENT, EC_MOVE2(DIVE), EC_WORD_IS, EC_WORD_YO},
        .speechLose = {EC_WORD_LOST, EC_WORD_EXCL, EC_MOVE2(DIVE), EC_WORD_TIME, EC_WORD_TO, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_2}
    },
    [FRONTIER_TRAINER_GABRIEL] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("保群"),
        .speechBefore = {EC_MOVE2(POUND), EC_WORD_ME, EC_MOVE2(BELLY_DRUM), EC_WORD_ABOVE, EC_WORD_OF, EC_WORD_THICK_FAT},
        .speechWin = {EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
        .speechLose = {EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_WORD_LIKELY_TO, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COLLECTOR_1}
    },
    [FRONTIER_TRAINER_EMILY] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("绢华"),
        .speechBefore = {EC_WORD_COME, EC_WORD_LISTEN, EC_MOVE(HYPNOSIS), EC_WORD_FORGIVE, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_AWFULLY, EC_WORD_PERFECTION, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_VERY, EC_WORD_AWFUL, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_2}
    },
    [FRONTIER_TRAINER_JORDYN] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("帕翠珂"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_KNOWS, EC_WORD_MY, EC_WORD_SECRET, EC_WORD_ELLIPSIS},
        .speechWin = {EC_WORD_ME, EC_WORD_WITH, EC_WORD_SUPER, EC_WORD_NO, EC_WORD_AN, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_HOW_DO, EC_WORD_KNOWS, EC_WORD_OF, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_BEAUTY_1}
    },
    [FRONTIER_TRAINER_SOFIA] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("如莉"),
        .speechBefore = {EC_POKEMON(LOUDRED), EC_WORD_HAVE, EC_WORD_A_TINY_BIT, EC_MOVE(SWEET_SCENT), EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THIS, EC_WORD_WERE, EC_WORD_ME, EC_WORD_OF, EC_WORD_SENSE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_ON, EC_WORD_DEPT_STORE, EC_WORD_INSIDE, EC_WORD_WORKING, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_2}
    },
    [FRONTIER_TRAINER_BRADEN] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("立晨"),
        .speechBefore = {EC_WORD_I_CHOOSE_YOU, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_USE, EC_WORD_MYSELF, EC_WORD_AWESOME, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_OKAY, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1A}
    },
    [FRONTIER_TRAINER_KAYDEN] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("卧龙"),
        .speechBefore = {EC_WORD_THEY_WERE, EC_WORD_EAT, EC_WORD_LIKE, EC_WORD_WAY, EC_WORD_DIDN_T, EC_WORD_IS},
        .speechWin = {EC_WORD_GOURMET, EC_WORD_NO, EC_WORD_LOOK, EC_WORD_ME, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_HEY, EC_WORD_THIS, EC_WORD_REALLY, EC_WORD_VERY, EC_WORD_TASTY, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1B}
    },
    [FRONTIER_TRAINER_COOPER] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("福伟"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_ABSOLUTELY, EC_WORD_WOULD, EC_WORD_VERY, EC_WORD_PUSHOVER, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_TO_ME, EC_WORD_COME, EC_WORD_SAID, EC_WORD_EXCESS, EC_WORD_STATIC, EC_WORD_IS},
        .speechLose = {EC_WORD_AGREE, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_VERY, EC_WORD_PARDON},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1C}
    },
    [FRONTIER_TRAINER_JULIA] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("满瑜"),
        .speechBefore = {EC_WORD_SERIOUSLY, EC_WORD_SPIRIT, EC_WORD_WON_T, EC_WORD_LEARN, EC_WORD_YOU, EC_WORD_WIN},
        .speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_THIS, EC_WORD_A_LITTLE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_FOR_NOW, EC_WORD_NICE, EC_WORD_BUT, EC_WORD_LIKELY_TO, EC_WORD_HAVEN_T, EC_WORD_FINISH},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1A}
    },
    [FRONTIER_TRAINER_AMARA] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("可凛"),
        .speechBefore = {EC_WORD_WROOOAAR_EXCL, EC_WORD_EXCL_EXCL, EC_WORD_ME, EC_WORD_READY, EC_WORD_IS, EC_WORD_EXCL_EXCL},
        .speechWin = {EC_WORD_IF, EC_WORD_WAY, EC_WORD_STATIC, EC_WORD_ME, EC_WORD_WOULD, EC_WORD_CONFUSED},
        .speechLose = {EC_WORD_THIS, EC_WORD_ALSO, EC_WORD_WAY, EC_WORD_HARD, EC_WORD_IS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1B}
    },
    [FRONTIER_TRAINER_LYNN] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("凌美"),
        .speechBefore = {EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_IMPOSSIBLE, EC_WORD_FOREVER, EC_WORD_HIDDEN, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_NOW, EC_WORD_KNOWS, EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_IS},
        .speechLose = {EC_WORD_YOU, EC_WORD_IMPOSSIBLE, EC_MOVE2(PROTECT), EC_WORD_YOUR, EC_WORD_ALL_RIGHT, EC_WORD_SECRET},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_1C}
    },
    [FRONTIER_TRAINER_JOVAN] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("良辉"),
        .speechBefore = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_DISAPPOINTS, EC_WORD_VERY, EC_WORD_DRINK, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_DISAPPOINTS, EC_WORD_VERY, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES},
        .speechLose = {EC_WORD_TODAY, EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_MAGMA_ARMOR, EC_WORD_MINUS, EC_WORD_PLUS},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_DOMINIC] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("常清"),
        .speechBefore = {EC_WORD_ME, EC_WORD_HAVE, EC_WORD_GREAT, EC_WORD_OF, EC_WORD_CAMERA, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_EXPENSIVE, EC_WORD_LIKE, EC_WORD_SCARY, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_WON_T, EC_WORD_RIGHT, EC_WORD_ANY, EC_WORD_THING},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_NIKOLAS] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("志将"),
        .speechBefore = {EC_WORD_ME, EC_WORD_FIGHT, EC_WORD_AFTER, EC_WORD_ALWAYS, EC_MOVE2(MIMIC), EC_WORD_POKEMON},
        .speechWin = {EC_WORD_IF_I_WIN, EC_WORD_ME, EC_WORD_PRETEND, EC_WORD_BE, EC_WORD_OFF, EC_POKEMON_NATIONAL(TAUROS)},
        .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_ME, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_PRETEND, EC_WORD_BE, EC_POKEMON_NATIONAL(MILTANK)},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_VALERIA] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("怡薇"),
        .speechBefore = {EC_WORD_ME, EC_WORD_DISAPPOINT, EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_CAME, EC_MOVE(ASTONISH)},
        .speechWin = {EC_WORD_HELLO, EC_WORD_BAD, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_SAID, EC_WORD_REALLY},
        .speechLose = {EC_WORD_YOU, EC_WORD_OF, EC_MOVE(SCARY_FACE), EC_WORD_HAS, EC_WORD_SCARY, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_DELANEY] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("爱华"),
        .speechBefore = {EC_WORD_SCHOOL, EC_WORD_TIME, EC_WORD_FINISH, EC_WORD_TERRIBLE, EC_WORD_PLAYS, EC_WORD_IS},
        .speechWin = {EC_WORD_MY, EC_WORD_DUDE, EC_WORD_FRIEND, EC_WORD_BE, EC_WORD_SCHOOL, EC_WORD_OF},
        .speechLose = {EC_WORD_ME, EC_WORD_CHOICE, EC_WORD_WEEK, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WEREN_T, EC_WORD_WORKING},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_MEGHAN] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("淑琴"),
        .speechBefore = {EC_WORD_SCHOOL, EC_WORD_TIME, EC_WORD_FINISH, EC_WORD_TERRIBLE, EC_WORD_PLAYS, EC_WORD_IS},
        .speechWin = {EC_WORD_MY, EC_WORD_DUDE, EC_WORD_FRIEND, EC_WORD_LIKES, EC_WORD_COMICS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_SOON, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WEREN_T, EC_WORD_HOME, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_RANGER_1}
    },
    [FRONTIER_TRAINER_ROBERTO] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("极腾"),
        .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_BE, EC_WORD_INVINCIBLE, EC_WORD_OF, EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_BAD, EC_WORD_JUST, EC_WORD_ME, EC_WORD_BETTER},
        .speechLose = {EC_WORD_YOU, EC_WORD_LIKELY_TO, EC_WORD_HAVEN_T, EC_WORD_SATISFIED, EC_WORD_DID, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_1}
    },
    [FRONTIER_TRAINER_DAMIAN] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("蒙岚"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POWER, EC_WORD_JOKING, EC_WORD_PURE_POWER, EC_WORD_AN, EC_WORD_EXCL},
        .speechWin = {EC_WORD_MY, EC_MOVE2(MACH_PUNCH), EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_CARES, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_NO, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_1}
    },
    [FRONTIER_TRAINER_BRODY] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("宏胜"),
        .speechBefore = {EC_WORD_MY, EC_WORD_FASHION, EC_WORD_WILL_BE_HERE, EC_WORD_AS_IF, EC_POKEMON(ODDISH), EC_WORD_QUES},
        .speechWin = {EC_WORD_THIS, EC_WORD_EH_QUES, EC_WORD_MY, EC_WORD_STAY_AT_HOME, EC_WORD_SUPER, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_REALLY, EC_WORD_LAY, EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_WILL_BE_HERE},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_1}
    },
    [FRONTIER_TRAINER_GRAHAM] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("虎彻"),
        .speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL},
        .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL},
        .speechLose = {EC_WORD_PARDON, EC_WORD_ELLIPSIS, EC_WORD_BE, EC_WORD_ME, EC_WORD_NO, EC_WORD_HAS},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_1}
    },
    [FRONTIER_TRAINER_TYLOR] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("辽阳"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_SENSE, EC_WORD_TO, EC_WORD_MY, EC_MOVE2(HEAT_WAVE), EC_WORD_SNORT},
        .speechWin = {EC_WORD_YES, EC_WORD_ME, EC_WORD_FIRE, EC_WORD_PERFECTION, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_BUT, EC_WORD_ME, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_FIGHTS, EC_WORD_EXCITE},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_2}
    },
    [FRONTIER_TRAINER_JAREN] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("领永"),
        .speechBefore = {EC_WORD_BATTLE, EC_WORD_SPIRIT, EC_WORD_QUES, EC_WORD_ME, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_MORE, EC_WORD_CUTE, EC_WORD_OF, EC_WORD_POKEMON},
        .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_SEEMS, EC_WORD_AWFULLY, EC_WORD_CUTE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_2}
    },
    [FRONTIER_TRAINER_CORDELL] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("国广"),
        .speechBefore = {EC_WORD_SPIRIT, EC_WORD_DECIDE, EC_WORD_BATTLE, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_COULDN_T, EC_WORD_ACCEPT, EC_WORD_DID, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_THIS, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WENT, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_M_1}
    },
    [FRONTIER_TRAINER_JAZLYN] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("映萍"),
        .speechBefore = {EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_GREAT, EC_WORD_WAS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YES, EC_WORD_WAAAH, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_YEAH, EC_WORD_AWESOME},
        .speechLose = {EC_WORD_A, EC_WORD_AVANT_GARDE, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_BE, EC_WORD_AWESOME},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_F_1}
    },
    [FRONTIER_TRAINER_ZACHERY] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("朱毕利"),
        .speechBefore = {EC_WORD_ME, EC_WORD_HAVE, EC_WORD_WHO, EC_WORD_WITHOUT, EC_WORD_YEEHAW_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_FOE, EC_WORD_ME, EC_WORD_YEAH, EC_WORD_EXCITING, EC_WORD_OF, EC_WORD_TIME},
        .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_WALKING, EC_WORD_MY, EC_WORD_HAPPILY},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_2}
    },
    [FRONTIER_TRAINER_JOHAN] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("和畅"),
        .speechBefore = {EC_WORD_WINTER, EC_WORD_SOON, EC_WORD_WOULD, EC_WORD_TO, EC_WORD_COME, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_COULD, EC_WORD_NEED, EC_WORD_YOUR, EC_MOVE2(HELPING_HAND)},
        .speechLose = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_SO, EC_WORD_HAVEN_T, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO}
    },
    [FRONTIER_TRAINER_SHEA] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("桂婕"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_ON, EC_WORD_BEAUTY, EC_WORD_TOO, EC_WORD_FIGHT, EC_WORD_WAS},
        .speechWin = {EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_GOOD_BYE, EC_WORD_WAY, EC_WORD_UGLY, EC_WORD_IS},
        .speechLose = {EC_WORD_YOU, EC_WORD_THINKS, EC_WORD_BEAUTY, EC_WORD_BE, EC_WORD_WHAT, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_2}
    },
    [FRONTIER_TRAINER_KAILA] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("吉莉安"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NOW, EC_WORD_THIRSTY, EC_WORD_IS, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_DRINKS, EC_WORD_LISTEN, EC_WORD_DRINKS, EC_WORD_OF},
        .speechLose = {EC_WORD_LOSING, EC_WORD_YEAH, EC_WORD_LEARN, EC_WORD_PERSON, EC_WORD_APPEAR, EC_MOVE2(SWALLOW)},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_2}
    },
    [FRONTIER_TRAINER_ISIAH] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
        .trainerName = _("翔杰"),
        .speechBefore = {EC_WORD_ME, EC_WORD_PRETEND, EC_WORD_STUDY, EC_WORD_TO, EC_WORD_A_LOT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_FOR, EC_WORD_ALLOWANCE, EC_WORD_ANGER, EC_WORD_MY, EC_WORD_MOTHER},
        .speechLose = {EC_WORD_ME, EC_WORD_DON_T, EC_WORD_WANTS, EC_WORD_GO_AHEAD, EC_WORD_STUDY, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_2}
    },
    [FRONTIER_TRAINER_GARRETT] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
        .trainerName = _("友行"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_COMICS, EC_WORD_AND, EC_WORD_THESE_WERE, EC_WORD_GAME},
        .speechWin = {EC_WORD_ME, EC_WORD_ALSO, EC_WORD_LIKES, EC_WORD_THESE_WERE, EC_WORD_MUSIC, EC_WORD_IDOL},
        .speechLose = {EC_WORD_BUT, EC_WORD_ME, EC_WORD_EXISTS, EC_WORD_WEREN_T, EC_WORD_GO_AHEAD, EC_WORD_STUDY},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_2}
    },
    [FRONTIER_TRAINER_HAYLIE] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
        .trainerName = _("怡静"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_TO, EC_WORD_APPEAR, EC_MOVE2(REST), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_VICTORY, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_SPIRIT, EC_WORD_REFRESHING, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_WORD_INSOMNIA, EC_WORD_BECOMES, EC_WORD_GOING, EC_WORD_AWFUL, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_2}
    },
    [FRONTIER_TRAINER_MEGAN] = {
        .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
        .trainerName = _("依丽"),
        .speechBefore = {EC_WORD_ME, EC_WORD_BELIEVE, EC_MOVE(AROMATHERAPY), EC_WORD_BATH, EC_WORD_WELL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_A, EC_WORD_HEALTHY, EC_WORD_OF, EC_WORD_CLEAR_BODY},
        .speechLose = {EC_MOVE(AROMATHERAPY), EC_WORD_NO, EC_WORD_WELL_THEN, EC_WORD_EXPENSIVE, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_CRY},
        .monSet = (const u16[]){FRONTIER_MONS_SCHOOL_KID_2}
    },
    [FRONTIER_TRAINER_ISSAC] = {
        .facilityClass = FACILITY_CLASS_RICH_BOY,
        .trainerName = _("浩轩"),
        .speechBefore = {EC_WORD_MY, EC_WORD_HOBBY, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_ALL_RIGHT, EC_MOVE2(WATER_SPORT), EC_WORD_OF, EC_WORD_SPORTS},
        .speechLose = {EC_WORD_ME, EC_WORD_DISLIKE, EC_WORD_ANY, EC_MOVE2(MUD_SPORT), EC_WORD_OF, EC_WORD_SPORTS},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_2}
    },
    [FRONTIER_TRAINER_QUINTON] = {
        .facilityClass = FACILITY_CLASS_RICH_BOY,
        .trainerName = _("瑞铭"),
        .speechBefore = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_SAD, EC_WORD_CASE, EC_WORD_ME, EC_WORD_TOO_WEAK},
        .speechWin = {EC_WORD_FOE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_DRINK, EC_WORD_STRONG, EC_WORD_EXCL},
        .speechLose = {EC_WORD_HEY, EC_WORD_ME, EC_WORD_DOES, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_2}
    },
    [FRONTIER_TRAINER_SALMA] = {
        .facilityClass = FACILITY_CLASS_LADY,
        .trainerName = _("梓琦"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_ON, EC_WORD_RATHER, EC_WORD_BATTLE, EC_WORD_AWW, EC_WORD_EXCL},
        .speechWin = {EC_WORD_ME, EC_WORD_WON, EC_WORD_YOU, EC_WORD_LUKEWARM, EC_WORD_WALKING, EC_WORD_YUP},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_SLEPT, EC_WORD_ME, EC_WORD_WHY, EC_WORD_LOST},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_2}
    },
    [FRONTIER_TRAINER_ANSLEY] = {
        .facilityClass = FACILITY_CLASS_LADY,
        .trainerName = _("玛丽"),
        .speechBefore = {EC_WORD_BORING, EC_WORD_ELLIPSIS, EC_WORD_ALL, EC_WORD_ME, EC_WORD_DANCE, EC_WORD_YUP},
        .speechWin = {EC_WORD_YOU_VE, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_BORING, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WENT, EC_WORD_OTHER, EC_WORD_WITHOUT, EC_WORD_DOWNCAST, EC_WORD_YUP, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RICH_BOY_LADY_2}
    },
    [FRONTIER_TRAINER_HOLDEN] = {
        .facilityClass = FACILITY_CLASS_BUG_CATCHER,
        .trainerName = _("敢达"),
        .speechBefore = {EC_WORD_LET_S, EC_WORD_EATS, EC_WORD_FIGHT, EC_WORD_COMMEMORATE, EC_WORD_MY, EC_WORD_COOL},
        .speechWin = {EC_WORD_YOU, EC_WORD_TOO_WEAK, EC_WORD_NO, EC_WORD_MISS, EC_WORD_PRAISE, EC_WORD_YOU},
        .speechLose = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_DISAPPOINTS, EC_WORD_YEAH, EC_WORD_FUNNY, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_CATCHER_2}
    },
    [FRONTIER_TRAINER_LUCA] = {
        .facilityClass = FACILITY_CLASS_BUG_CATCHER,
        .trainerName = _("亚契"),
        .speechBefore = {EC_WORD_WE, EC_WORD_WOULD, EC_WORD_COME, EC_WORD_GO, EC_WORD_COOL, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_ME, EC_WORD_WON, EC_WORD_OF, EC_WORD_GOOD_BYE, EC_WORD_VERY, EC_WORD_COOL},
        .speechLose = {EC_WORD_HELLO, EC_WORD_QUES, EC_WORD_ME, EC_WORD_JUST, EC_WORD_A, EC_WORD_CHILDREN},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_CATCHER_2}
    },
    [FRONTIER_TRAINER_JAMISON] = {
        .facilityClass = FACILITY_CLASS_NINJA_BOY,
        .trainerName = _("佐之助"),
        .speechBefore = {EC_WORD_MY, EC_MOVE2(SECRET_POWER), EC_WORD_MEGA, EC_WORD_EASY, EC_WORD_IS, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_YOU, EC_WORD_LOOKS, EC_WORD_TO, EC_WORD_SNORT, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_WILL, EC_WORD_USES, EC_MOVE(SMOKESCREEN), EC_WORD_ESCAPE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_NINJA_BOY_2}
    },
    [FRONTIER_TRAINER_GUNNAR] = {
        .facilityClass = FACILITY_CLASS_NINJA_BOY,
        .trainerName = _("半藏"),
        .speechBefore = {EC_WORD_ME, EC_WORD_BEAT, EC_WORD_IS, EC_WORD_ALL_RIGHT, EC_WORD_OPPONENT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DON_T, EC_WORD_CASE, EC_WORD_YOU, EC_WORD_LOST, EC_MOVE(GRUDGE), EC_WORD_ME},
        .speechLose = {EC_WORD_DON_T, EC_WORD_GIMME, EC_WORD_ME, EC_WORD_LOOKS, EC_WORD_YOUR, EC_MOVE(SCARY_FACE)},
        .monSet = (const u16[]){FRONTIER_MONS_NINJA_BOY_2}
    },
    [FRONTIER_TRAINER_CRAIG] = {
        .facilityClass = FACILITY_CLASS_TUBER_M,
        .trainerName = _("康江"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANT, EC_WORD_WEREN_T, EC_WORD_TRAINS, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_FLAME_BODY, EC_WORD_LIKELY_TO, EC_WORD_HAVEN_T, EC_WORD_TO, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_MY, EC_WORD_FLAME_BODY, EC_WORD_HERE_GOES, EC_WORD_EXCL, EC_WORD_SMELL_YA, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_2}
    },
    [FRONTIER_TRAINER_PIERCE] = {
        .facilityClass = FACILITY_CLASS_TUBER_M,
        .trainerName = _("渥华"),
        .speechBefore = {EC_WORD_UP, EC_WORD_WEEK, EC_WORD_HAVE, EC_MOVE2(HEAT_WAVE), EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_APPEAR, EC_MOVE(BIDE), EC_MOVE2(HEAT_WAVE), EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_AREN_T, EC_WORD_ALSO, EC_WORD_CHOICE, EC_MOVE(HAIL), EC_WORD_SNORT, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_2}
    },
    [FRONTIER_TRAINER_REGINA] = {
        .facilityClass = FACILITY_CLASS_TUBER_F,
        .trainerName = _("漾漾"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_ON, EC_WORD_WATER, EC_WORD_INSIDE, EC_WORD_PLAY},
        .speechWin = {EC_WORD_ME, EC_WORD_REFUSE, EC_WORD_BACK, EC_WORD_COME, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_FOE, EC_WORD_WATER, EC_WORD_NO, EC_WORD_WAY, EC_WORD_SKILLED},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_2}
    },
    [FRONTIER_TRAINER_ALISON] = {
        .facilityClass = FACILITY_CLASS_TUBER_F,
        .trainerName = _("绮泉"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_KINDERGARTEN, EC_WORD_MAGAZINE, EC_WORD_WAY, EC_WORD_AMUSING, EC_WORD_IS},
        .speechWin = {EC_WORD_YOU, EC_WORD_HOW_DO, EC_WORD_GIVES, EC_WORD_YOUR, EC_WORD_TEACHER, EC_WORD_QUES},
        .speechLose = {EC_WORD_ENJOY, EC_WORD_TASTY, EC_WORD_OF, EC_WORD_SCHOOL, EC_WORD_DIET, EC_WORD_WAS},
        .monSet = (const u16[]){FRONTIER_MONS_TUBER_2}
    },
    [FRONTIER_TRAINER_HANK] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("计和"),
        .speechBefore = {EC_WORD_HERE, EC_WORD_SOON, EC_WORD_HAVE, EC_WORD_VACATION, EC_WORD_EVOLUTION, EC_WORD_IS},
        .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_BUG, EC_WORD_FASHION, EC_WORD_OVERDO, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_LIKES, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_3}
    },
    [FRONTIER_TRAINER_EARL] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("洛杨"),
        .speechBefore = {EC_WORD_INVINCIBLE, EC_WORD_OF, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_COME, EC_WORD_IS},
        .speechWin = {EC_WORD_ME, EC_WORD_BE, EC_WORD_INVINCIBLE, EC_WORD_OF, EC_WORD_BUG, EC_WORD_TRAINER},
        .speechLose = {EC_WORD_SEE, EC_WORD_ME, EC_WORD_RUN_AWAY, EC_WORD_LIKE, EC_WORD_DIDN_T, EC_WORD_LUKEWARM},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_3}
    },
    [FRONTIER_TRAINER_RAMIRO] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("康能"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WENT, EC_WORD_IS, EC_WORD_A, EC_WORD_FISHING, EC_WORD_SCHOOL},
        .speechWin = {EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FISHING, EC_WORD_HALL_OF_FAME, EC_WORD_INSIDE, EC_WORD_OF},
        .speechLose = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_OLDEN, EC_WORD_WENT, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_2}
    },
    [FRONTIER_TRAINER_HUNTER] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("浩德"),
        .speechBefore = {EC_WORD_GIVE_ME, EC_WORD_SEE, EC_WORD_COOL, EC_WORD_OF, EC_MOVE(CROSS_CHOP), EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_WON_T, EC_MOVE(CROSS_CHOP), EC_WORD_EXCL},
        .speechLose = {EC_WORD_BE, EC_WORD_AREN_T, EC_WORD_NOT_VERY, EC_WORD_FOE, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_2}
    },
    [FRONTIER_TRAINER_AIDEN] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("勤劳"),
        .speechBefore = {EC_WORD_MY, EC_WORD_WORKING, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_HEALTHY, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_LOOKS, EC_WORD_QUES, EC_WORD_ME, EC_WORD_VERY, EC_WORD_HEALTHY},
        .speechLose = {EC_WORD_YOU, EC_WORD_THAN, EC_WORD_ME, EC_WORD_LIKELY_TO, EC_WORD_HEALTHY, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_3}
    },
    [FRONTIER_TRAINER_XAVIER] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("夏伦"),
        .speechBefore = {EC_WORD_HELLO, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_LOOKS, EC_WORD_LOOKS, EC_WORD_EXCL_EXCL},
        .speechWin = {EC_WORD_SMELL_YA, EC_EMPTY_WORD, EC_WORD_THANK_YOU, EC_WORD_THAT, EC_WORD_VERY, EC_WORD_FUNNY},
        .speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_3}
    },
    [FRONTIER_TRAINER_CLINTON] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("黎马"),
        .speechBefore = {EC_WORD_WANTS, EC_WORD_SEE, EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_ON, EC_MOVE(RAGE), EC_MOVE2(FURY_ATTACK), EC_WORD_YOUNG, EC_WORD_TRAINER},
        .speechLose = {EC_WORD_TCH, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_COLLECTOR_2}
    },
    [FRONTIER_TRAINER_JESSE] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("托亚"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_FIGHT, EC_WORD_BE, EC_WORD_FOR, EC_WORD_MY, EC_WORD_MOTHER},
        .speechWin = {EC_WORD_MOTHER, EC_WORD_WILL, EC_WORD_WOULD, EC_WORD_ALL, EC_WORD_ME, EC_WORD_HAPPINESS},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_MOTHER, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COLLECTOR_2}
    },
    [FRONTIER_TRAINER_EDUARDO] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("洛伊德"),
        .speechBefore = {EC_WORD_OUR, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_BORED, EC_WORD_THINGS, EC_WORD_NIGHT},
        .speechWin = {EC_WORD_ME, EC_WORD_NIGHT, EC_WORD_CURRENT, EC_WORD_MAGMA_ARMOR, EC_WORD_LIKE, EC_WORD_BEST},
        .speechLose = {EC_WORD_LET_S, EC_WORD_PARTY, EC_WORD_TO, EC_WORD_DAYTIME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_2}
    },
    [FRONTIER_TRAINER_HAL] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("戴夫"),
        .speechBefore = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_TRENDY, EC_WORD_ISN_T_IT_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_FIGHTS, EC_WORD_AWFULLY, EC_WORD_HAPPY, EC_WORD_OH_YEAH, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_ALWAYS, EC_WORD_VERY, EC_WORD_TRENDY, EC_WORD_YEAH, EC_WORD_THANK_YOU},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_2}
    },
    [FRONTIER_TRAINER_GAGE] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("和翱"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_BE, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_HIDDEN, EC_WORD_MOVE},
        .speechWin = {EC_WORD_DOWN, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_OF, EC_WORD_VICTORY, EC_WORD_EXCL},
        .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_ME, EC_WORD_THIS_IS_IT_EXCL, EC_MOVE(FLY), EC_WORD_UNDERSTANDS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_2}
    },
    [FRONTIER_TRAINER_ARNOLD] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("启飞"),
        .speechBefore = {EC_WORD_ME, EC_WORD_FROM, EC_WORD_LIFE, EC_WORD_UM, EC_WORD_FIGHTS, EC_WORD_WEIRD},
        .speechWin = {EC_WORD_YOUR, EC_MOVE(SCARY_FACE), EC_WORD_APPEARS, EC_WORD_MY, EC_WORD_LIFE, EC_WORD_INSIDE},
        .speechLose = {EC_WORD_ME, EC_WORD_INCREDIBLE, EC_WORD_OF, EC_WORD_LIFE, EC_WORD_YEAH, EC_WORD_WEIRD},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_2}
    },
    [FRONTIER_TRAINER_JARRETT] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("浪飒"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_JOKING, EC_WORD_YESTERDAY, EC_WORD_AN, EC_WORD_DANCE},
        .speechWin = {EC_WORD_YOU, EC_WORD_LIKES, EC_WORD_ME, EC_WORD_OF, EC_WORD_DANCE, EC_WORD_WAS},
        .speechLose = {EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_APPRECIATE, EC_WORD_MY, EC_WORD_DANCE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_2}
    },
    [FRONTIER_TRAINER_GARETT] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("修泰"),
        .speechBefore = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_PLAYED, EC_WORD_ME, EC_WORD_A, EC_MOVE2(SWEET_KISS)},
        .speechWin = {EC_WORD_MY, EC_WORD_THEY, EC_WORD_FRIEND, EC_WORD_BE, EC_WORD_MY, EC_WORD_TREASURE},
        .speechLose = {EC_WORD_TREASURE, EC_WORD_AREN_T, EC_WORD_JUST, EC_WORD_ABOUT, EC_WORD_MONEY, EC_WORD_OF},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_2}
    },
    [FRONTIER_TRAINER_EMANUEL] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("文崇"),
        .speechBefore = {EC_WORD_JUST, EC_WORD_SMART, EC_WORD_BE, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_OF},
        .speechWin = {EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_ME, EC_WORD_WON},
        .speechLose = {EC_WORD_YOU, EC_WORD_HOW_DO, EC_WORD_ANGER, EC_WORD_TO, EC_WORD_MY, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_2}
    },
    [FRONTIER_TRAINER_GUSTAVO] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("文峻"),
        .speechBefore = {EC_WORD_RUN, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_RUN, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SURRENDER, EC_WORD_QUES, EC_EMPTY_WORD, EC_WORD_WHEN, EC_WORD_LUKEWARM, EC_WORD_QUES},
        .speechLose = {EC_WORD_YOU, EC_WORD_APPEAR, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_SURRENDER, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_2}
    },
    [FRONTIER_TRAINER_KAMERON] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("佩杰"),
        .speechBefore = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK)},
        .speechWin = {EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK), EC_MOVE(ASTONISH), EC_WORD_YOU, EC_WORD_SNORT},
        .speechLose = {EC_WORD_YOU, EC_WORD_HAVEN_T, EC_WORD_UM, EC_WORD_MY, EC_MOVE2(TRICK), EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_2}
    },
    [FRONTIER_TRAINER_ALFREDO] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("营宇"),
        .speechBefore = {EC_WORD_ME, EC_WORD_BE, EC_WORD_FIERY, EC_WORD_GOURMET, EC_WORD_KID, EC_WORD_EXCL},
        .speechWin = {EC_WORD_DOWN, EC_WORD_GO, EC_WORD_TASTY, EC_WORD_OF, EC_WORD_VICTORY, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YEAH, EC_WORD_GO, EC_WORD_DISASTER, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_2}
    },
    [FRONTIER_TRAINER_RUBEN] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("琼恩"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANT, EC_WORD_WEREN_T, EC_WORD_WALKING, EC_WORD_IS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WEREN_T, EC_WORD_WALKING, EC_WORD_IS, EC_WORD_EXCL, EC_WORD_SMELL_YA, EC_WORD_NOPE},
        .speechLose = {EC_WORD_ME, EC_WORD_LIKE, EC_WORD_WALKING, EC_WORD_IS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_2}
    },
    [FRONTIER_TRAINER_LAMAR] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("帕克"),
        .speechBefore = {EC_WORD_GIVE_ME, EC_WORD_OF, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MMM, EC_WORD_THIS, EC_WORD_YEAH, EC_WORD_QUITE, EC_WORD_TASTY, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_JUST, EC_WORD_A, EC_WORD_GAME, EC_WORD_ISN_T_IT_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_2}
    },
    [FRONTIER_TRAINER_JAXON] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("睿彬"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_BATTLE_ARMOR, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_FATHER, EC_WORD_AND, EC_WORD_MOTHER, EC_WORD_WON_T, EC_WORD_ACCEPT},
        .speechLose = {EC_WORD_AGREE, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WANTS, EC_WORD_SHELL_ARMOR, EC_WORD_BATTLE_ARMOR},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_3}
    },
    [FRONTIER_TRAINER_LOGAN] = {
        .facilityClass = FACILITY_CLASS_YOUNGSTER,
        .trainerName = _("镇敬"),
        .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_ME, EC_WORD_WOULD, EC_WORD_FOR, EC_WORD_SCHOOL, EC_WORD_STUDY},
        .speechWin = {EC_WORD_ME, EC_WORD_STUDY, EC_WORD_QUES, EC_WORD_SEEMS, EC_WORD_NOT_VERY, EC_WORD_COULD},
        .speechLose = {EC_WORD_NO, EC_WORD_THANKS, EC_WORD_ME, EC_WORD_WEREN_T, EC_MOVE2(REST), EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_3}
    },
    [FRONTIER_TRAINER_EMILEE] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("邦妮"),
        .speechBefore = {EC_WORD_EVERY, EC_WORD_OF, EC_WORD_FIGHT, EC_WORD_CAN, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_LET_S, EC_WORD_COME, EC_WORD_GO, EC_MOVE(ICY_WIND), EC_MOVE2(SURF), EC_WORD_YUP},
        .speechLose = {EC_WORD_GO, EC_WORD_SONGS, EC_WORD_OVERDO, EC_WORD_I_VE_ARRIVED, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_3}
    },
    [FRONTIER_TRAINER_JOSIE] = {
        .facilityClass = FACILITY_CLASS_LASS,
        .trainerName = _("尼可儿"),
        .speechBefore = {EC_WORD_POKEMON, EC_WORD_FASHION, EC_WORD_SMITE, EC_WORD_YEAH, EC_WORD_PRETTY, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_MEGA, EC_WORD_LIKES, EC_WORD_FASHION, EC_WORD_OF, EC_WORD_THING},
        .speechLose = {EC_WORD_YOU_RE, EC_WORD_YEAH, EC_WORD_LACKING, EC_WORD_FASHION, EC_WORD_WILL_BE_HERE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_YOUNGSTER_LASS_3}
    },
    [FRONTIER_TRAINER_ARMANDO] = {
        .facilityClass = FACILITY_CLASS_CAMPER,
        .trainerName = _("升益"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_AGREE, EC_WORD_AND, EC_WORD_ME, EC_WORD_TRADE, EC_WORD_GRASS, EC_WORD_POKEMON},
        .speechLose = {EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON, EC_WORD_WAY, EC_WORD_DOESN_T, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_2}
    },
    [FRONTIER_TRAINER_SKYLER] = {
        .facilityClass = FACILITY_CLASS_CAMPER,
        .trainerName = _("熙劲"),
        .speechBefore = {EC_MOVE2(INGRAIN), EC_WORD_BE, EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_MOVE, EC_WORD_CHOOSE},
        .speechWin = {EC_WORD_YOU, EC_WORD_NOW, EC_WORD_APPEAR, EC_WORD_REJECT, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_ME, EC_MOVE(SLASH), EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_2}
    },
    [FRONTIER_TRAINER_RUTH] = {
        .facilityClass = FACILITY_CLASS_PICNICKER,
        .trainerName = _("怡蕙"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_RANK, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_THIS, EC_WORD_SORRY, EC_WORD_BE, EC_WORD_WAY, EC_WORD_SIMPLE, EC_WORD_IS},
        .speechLose = {EC_WORD_AGREE, EC_WORD_STOP, EC_WORD_ME, EC_WORD_NO, EC_WORD_LIKES, EC_WORD_EVERY},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_2}
    },
    [FRONTIER_TRAINER_MELODY] = {
        .facilityClass = FACILITY_CLASS_PICNICKER,
        .trainerName = _("丽莎"),
        .speechBefore = {EC_WORD_ME, EC_WORD_DISAPPOINT, EC_WORD_SUNDAY, EC_WORD_I, EC_MOVE2(SUNNY_DAY), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SUNDAY, EC_WORD_SEEMS, EC_WORD_FOREVER, EC_WORD_TO, EC_WORD_NO, EC_WORD_IS},
        .speechLose = {EC_WORD_FORECAST, EC_WORD_SAID, EC_WORD_WOULD, EC_WORD_CHOICE, EC_MOVE(HAIL), EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_CAMPER_PICNICKER_2}
    },
    [FRONTIER_TRAINER_PEDRO] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_M,
        .trainerName = _("瀚平"),
        .speechBefore = {EC_WORD_SWIFT_SWIM, EC_WORD_FOE, EC_WORD_YOU, EC_WORD_VERY, EC_WORD_HAS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_WERE, EC_WORD_WHEN, EC_WORD_SINK, EC_WORD_OPPONENT, EC_WORD_OF},
        .speechLose = {EC_WORD_UH_OH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_HAVE, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_M_2}
    },
    [FRONTIER_TRAINER_ERICK] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_M,
        .trainerName = _("浩景"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WILL, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DON_T, EC_WORD_RUN_AWAY, EC_WORD_YOU, EC_WORD_THESE_WERE, EC_WORD_LOSER, EC_WORD_EXCL},
        .speechLose = {EC_WORD_HAVEN_T, EC_WORD_MISS, EC_WORD_TO, EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(COUNTER)},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_M_2}
    },
    [FRONTIER_TRAINER_ELAINE] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_F,
        .trainerName = _("洋娜"),
        .speechBefore = {EC_WORD_MY, EC_WORD_HEROINE, EC_WORD_ADVENTURE, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_NOISY},
        .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_ME, EC_WORD_WANTS, EC_WORD_OF},
        .speechLose = {EC_WORD_ME, EC_WORD_KNOWS, EC_WORD_ME, EC_WORD_AREN_T, EC_WORD_HEROINE, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_F_2}
    },
    [FRONTIER_TRAINER_JOYCE] = {
        .facilityClass = FACILITY_CLASS_SWIMMER_F,
        .trainerName = _("海韵"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_EXCITE, EC_WORD_AHAHA, EC_WORD_EXCL},
        .speechWin = {EC_WORD_LALALA, EC_WORD_ME, EC_WORD_WON_T, EC_WORD_LOSING, EC_WORD_OF, EC_WORD_EXCL},
        .speechLose = {EC_WORD_LALALA, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_HUH_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMER_F_2}
    },
    [FRONTIER_TRAINER_TODD] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("万理"),
        .speechBefore = {EC_WORD_YOU_RE, EC_WORD_ME, EC_WORD_POWER, EC_WORD_OF, EC_WORD_LIGHTNINGROD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_USING, EC_WORD_ACCEPT, EC_WORD_THESE, EC_WORD_QUES},
        .speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_MY, EC_WORD_POWER, EC_MOVE(COUNTER), EC_WORD_SNORT},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_3}
    },
    [FRONTIER_TRAINER_GAVIN] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_M,
        .trainerName = _("近佩"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WOULD, EC_WORD_WAIT, EC_WORD_MY, EC_WORD_TOO_LATE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WHEN, EC_WORD_LUKEWARM, EC_WORD_FINISH, EC_WORD_SNORT, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_WORD_MISTAKE, EC_WORD_WAY, EC_WORD_BADLY, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_3}
    },
    [FRONTIER_TRAINER_MALORY] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("榕春"),
        .speechBefore = {EC_WORD_CONCEDE, EC_WORD_GIMME, EC_WORD_ME, EC_WORD_SEE, EC_WORD_CUTE, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_AWFULLY, EC_WORD_HEY_THERE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_TCH, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ALSO, EC_WORD_AREN_T, EC_WORD_WELL},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_3}
    },
    [FRONTIER_TRAINER_ESTHER] = {
        .facilityClass = FACILITY_CLASS_POKEFAN_F,
        .trainerName = _("碧夏"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_A, EC_WORD_HAS, EC_MOVE2(PRESENT), EC_WORD_ELLIPSIS},
        .speechWin = {EC_WORD_PLEASE, EC_WORD_GIMME, EC_WORD_ME, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_GAME},
        .speechLose = {EC_WORD_INFORMATION, EC_WORD_CARDS, EC_WORD_AREN_T, EC_WORD_A, EC_WORD_GOOD, EC_MOVE2(PRESENT)},
        .monSet = (const u16[]){FRONTIER_MONS_POKEFAN_3}
    },
    [FRONTIER_TRAINER_OSCAR] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("戴津"),
        .speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_ALL_RIGHT, EC_WORD_OF, EC_WORD_POWER},
        .speechWin = {EC_WORD_THAT_WAS, EC_WORD_AREN_T, EC_WORD_YOUR, EC_WORD_RATHER, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS, EC_WORD_NO, EC_WORD_FUNNY, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_TOO_STRONG},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_2}
    },
    [FRONTIER_TRAINER_WILSON] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
        .trainerName = _("载贺"),
        .speechBefore = {EC_WORD_WORKING, EC_WORD_LEARN, EC_WORD_ME, EC_WORD_EARLY_BIRD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_UNDERSTOOD, EC_WORD_BE, EC_WORD_WORKING, EC_WORD_HAVEN_T, EC_WORD_PLAYS, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_USING, EC_MOVE(BIDE), EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_2}
    },
    [FRONTIER_TRAINER_CLARE] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("子伶"),
        .speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_EXCL},
        .speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_EXCL},
        .speechLose = {EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_TRAINER, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_2}
    },
    [FRONTIER_TRAINER_TESS] = {
        .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
        .trainerName = _("杜季"),
        .speechBefore = {EC_WORD_WANTS, EC_WORD_LISTEN, EC_POKEMON(GULPIN), EC_WORD_WORK, EC_WORD_SWEETS, EC_WORD_QUES},
        .speechWin = {EC_WORD_DOWN, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YEAH, EC_WORD_TASTY, EC_WORD_EXCL, EC_WORD_HOWEVER, EC_WORD_REFRESHING, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_PKMN_BREEDER_2}
    },
    [FRONTIER_TRAINER_LEON] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("雪彪"),
        .speechBefore = {EC_WORD_ME, EC_WORD_THAN, EC_WORD_ALL_RIGHT, EC_WORD_TRAINER, EC_WORD_UNDERSTOOD, EC_WORD_HAS},
        .speechWin = {EC_WORD_ME, EC_WORD_HAPPINESS, EC_WORD_LIKE, EC_MOVE2(JUMP_KICK), EC_WORD_FAINT, EC_WORD_IS},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_GO_HOME, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_M_2A}
    },
    [FRONTIER_TRAINER_ALONZO] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("龙驾"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ONCE, EC_WORD_UNDERSTOOD, EC_WORD_HAVEN_T, EC_WORD_LOSE, EC_WORD_EXCL},
        .speechWin = {EC_WORD_SADLY, EC_WORD_WERE, EC_WORD_YOUR, EC_WORD_GRAAAH, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_BELIEVE, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_M_2B}
    },
    [FRONTIER_TRAINER_VINCE] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("北岳"),
        .speechBefore = {EC_WORD_ME, EC_WORD_BE, EC_WORD_TOP, EC_WORD_TRAINER, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_TOP, EC_WORD_PLACE, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_ACCEPT, EC_WORD_THIS, EC_MOVE(RAGE), EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2C(LATIOS)}
    },
    [FRONTIER_TRAINER_BRYON] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
        .trainerName = _("凯撒"),
        .speechBefore = {EC_WORD_MY, EC_WORD_ATTACK, EC_WORD_WILL, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_HAVEN_T, EC_WORD_DOESN_T, EC_WORD_COUNT_ON, EC_WORD_SOME, EC_WORD_WAS},
        .speechLose = {EC_WORD_ME, EC_WORD_REALLY, EC_WORD_NO, EC_WORD_SLEPT, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2D(LATIOS)}
    },
    [FRONTIER_TRAINER_AVA] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("爱莲"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_THESE_WERE, EC_WORD_WORLD, EC_WORD_OF, EC_WORD_TREASURE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_WORLD, EC_WORD_FULL, EC_WORD_DISAPPOINT, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_WHY, EC_WORD_WHEN, EC_WORD_SCARY, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_F_2A}
    },
    [FRONTIER_TRAINER_MIRIAM] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("璐琳"),
        .speechBefore = {EC_WORD_OH, EC_WORD_A, EC_MOVE(SCARY_FACE), EC_WORD_OF, EC_WORD_TRAINER, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_AHAHA, EC_WORD_YOU, EC_WORD_JUST, EC_WORD_SEEMS, EC_WORD_SCARY, EC_WORD_EXCL},
        .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_HAS, EC_WORD_SCARY},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_F_2B}
    },
    [FRONTIER_TRAINER_CARRIE] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("倩鹤"),
        .speechBefore = {EC_WORD_LEARN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_GUTSY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_CARES, EC_WORD_UNDERSTOOD, EC_WORD_CASE, EC_WORD_GUTS, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_MOVE2(EXPLOSION), EC_WORD_MODE, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2C(LATIAS)}
    },
    [FRONTIER_TRAINER_GILLIAN2] = {
        .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
        .trainerName = _("雪妍"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_GO, EC_WORD_TRULY, EC_WORD_OF, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_ME, EC_WORD_NEED, EC_WORD_BETTER, EC_WORD_OF, EC_WORD_FIGHT, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_THIS, EC_WORD_YEAH, EC_MOVE(BIDE), EC_WORD_NO, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2D(LATIAS)}
    },
    [FRONTIER_TRAINER_TYLER] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("汇恒"),
        .speechBefore = {EC_WORD_YO, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_WALKING, EC_WORD_YUP, EC_WORD_EXCL_EXCL},
        .speechWin = {EC_WORD_YO, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_WON, EC_WORD_YO},
        .speechLose = {EC_WORD_YO, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_LOST, EC_WORD_YO},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_A}
    },
    [FRONTIER_TRAINER_CHAZ] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("春秋"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SORRY, EC_WORD_WAY, EC_WORD_STRONG, EC_WORD_IS},
        .speechWin = {EC_WORD_THEY_WERE, EC_WORD_NOW, EC_WORD_POWER, EC_WORD_MORE, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YES, EC_WORD_PLEASE, EC_WORD_LEARN, EC_WORD_THEY_WERE, EC_WORD_WEAK, EC_WORD_A_LITTLE},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_B}
    },
    [FRONTIER_TRAINER_NELSON] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
        .trainerName = _("涛雄"),
        .speechBefore = {EC_WORD_WELL_THEN, EC_WORD_THESE_WERE, EC_WORD_POKEMON, EC_WORD_USING, EC_WORD_SAYS, EC_WORD_WAS},
        .speechWin = {EC_WORD_ME, EC_WORD_SLEPT, EC_WORD_IS, EC_WORD_IT, EC_WORD_TOO_STRONG, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_USE, EC_WORD_MATCH_UP, EC_WORD_LIKE, EC_WORD_NOT_VERY, EC_WORD_HAS},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2D(LATIOS)}
    },
    [FRONTIER_TRAINER_SHANIA] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("优雅"),
        .speechBefore = {EC_WORD_MY, EC_WORD_ALL_RIGHT, EC_WORD_POKEMON, EC_WORD_UNDERSTOOD, EC_WORD_LIKES, EC_WORD_ME},
        .speechWin = {EC_WORD_HAPPILY, EC_WORD_BE, EC_WORD_OFF, EC_MOVE2(ATTRACT), EC_WORD_OF, EC_WORD_POKEMON},
        .speechLose = {EC_WORD_YOU, EC_WORD_FOE, EC_WORD_CUTE, EC_WORD_POKEMON, EC_WORD_HAS, EC_WORD_SPIRALING},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_C}
    },
    [FRONTIER_TRAINER_STELLA] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("茹玲"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WANTS, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_HMM, EC_WORD_THEY_WERE, EC_WORD_NO, EC_WORD_BORING, EC_WORD_WAS, EC_WORD_AHAHA},
        .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_REALLY, EC_WORD_NO, EC_WORD_AN, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_D}
    },
    [FRONTIER_TRAINER_DORINE] = {
        .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
        .trainerName = _("花穗"),
        .speechBefore = {EC_WORD_ME, EC_WORD_YOUNG, EC_WORD_SO, EC_WORD_STRONG, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_STRONG},
        .speechLose = {EC_WORD_THIS, EC_WORD_TOTALLY, EC_WORD_NO, EC_WORD_SAYS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_COOLTRAINER_2D(LATIAS)}
    },
    [FRONTIER_TRAINER_MADDOX] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("龙马"),
        .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_BE, EC_WORD_MY, EC_WORD_NO_1, EC_WORD_CHOOSE},
        .speechWin = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_WIN, EC_WORD_THIS, EC_WORD_AREN_T, EC_WORD_SECRET},
        .speechLose = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_NO, EC_WORD_SHOULD, EC_WORD_LOSS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_2}
    },
    [FRONTIER_TRAINER_DAVIN] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("振潘"),
        .speechBefore = {EC_WORD_LET_S, EC_WORD_HEAR, EC_WORD_YOU, EC_WORD_OF, EC_MOVE2(ROAR), EC_WORD_EXCL},
        .speechWin = {EC_WORD_WROOOAAR_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_VICTORY, EC_WORD_EXCL_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_WROOOAAR_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_2}
    },
    [FRONTIER_TRAINER_TREVON] = {
        .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
        .trainerName = _("敖广"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ONLY, EC_WORD_AND, EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_LIVING},
        .speechWin = {EC_WORD_ME, EC_WORD_OF, EC_WORD_LIVING, EC_WORD_GOOD_BYE, EC_WORD_VERY, EC_WORD_PERFECTION},
        .speechLose = {EC_WORD_ME, EC_WORD_OF, EC_WORD_LIVING, EC_WORD_GOOD_BYE, EC_WORD_DESTROYED, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_DRAGON_TAMER_2}
    },
    [FRONTIER_TRAINER_MATEO] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("朝信"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_SOON, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_WOULD, EC_WORD_FINISH},
        .speechWin = {EC_WORD_OKAY, EC_WORD_THIS, EC_WORD_FOE, EC_WORD_ME, EC_WORD_NO, EC_WORD_HARD},
        .speechLose = {EC_WORD_ME, EC_WORD_COULDN_T, EC_WORD_WHEN, EC_WORD_LUKEWARM, EC_WORD_LOSS, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_2A}
    },
    [FRONTIER_TRAINER_BRET] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("创真"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_ROCK_SOLID, EC_WORD_OF, EC_WORD_POKEMON, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_TOUGH, EC_WORD_EH_QUES, EC_WORD_VICTORY, EC_WORD_OF, EC_WORD_GOOD_BYE, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_ALSO, EC_WORD_HAVE, EC_WORD_COLLECTION, EC_WORD_PLUSH_DOLL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B}
    },
    [FRONTIER_TRAINER_RAUL] = {
        .facilityClass = FACILITY_CLASS_BLACK_BELT,
        .trainerName = _("世璋"),
        .speechBefore = {EC_WORD_ME, EC_WORD_REFUSE, EC_WORD_ALL_RIGHT, EC_WORD_WEAK, EC_WORD_OF, EC_WORD_TRAINER},
        .speechWin = {EC_WORD_HUMPH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_YOU, EC_WORD_A_LITTLE, EC_WORD_ALSO, EC_WORD_NO, EC_WORD_WEAK, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C}
    },
    [FRONTIER_TRAINER_KAY] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("雅姿"),
        .speechBefore = {EC_WORD_SO, EC_WORD_GO, EC_WORD_FIGHT, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WON, EC_WORD_BUT, EC_WORD_ME, EC_WORD_HAS, EC_WORD_TIRED, EC_WORD_ELLIPSIS},
        .speechLose = {EC_WORD_HAS, EC_WORD_ON, EC_WORD_FINALLY, EC_WORD_FINISH, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_BATTLE_GIRL_2A}
    },
    [FRONTIER_TRAINER_ELENA] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("嘉娜"),
        .speechBefore = {EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_WERE, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_BE, EC_WORD_AREN_T, EC_WORD_AWESOME, EC_WORD_QUES},
        .speechLose = {EC_WORD_YOU, EC_WORD_DISLIKES, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B}
    },
    [FRONTIER_TRAINER_ALANA] = {
        .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
        .trainerName = _("泰娥"),
        .speechBefore = {EC_WORD_EAT, EC_WORD_ME, EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_YUP, EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_MUCH, EC_WORD_THING, EC_WORD_NEED, EC_WORD_STUDY},
        .speechLose = {EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_EVERY, EC_WORD_STOP, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C}
    },
    [FRONTIER_TRAINER_ALEXAS] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("宇震"),
        .speechBefore = {EC_WORD_VERY, EC_WORD_HAPPINESS, EC_WORD_MEET_YOU, EC_WORD_YOUNG, EC_WORD_TRAINER, EC_WORD_EXCL},
        .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_GIVE_UP, EC_WORD_YUP, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_BE, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_CHILDREN},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2A(TYRANITAR)}
    },
    [FRONTIER_TRAINER_WESTON] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("超群"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WON_T, EC_WORD_SMALL, EC_WORD_LOOKS, EC_WORD_OKAY, EC_WORD_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_WAY, EC_WORD_LEFT, EC_WORD_CAME, EC_WORD_ATTACK, EC_WORD_IS},
        .speechLose = {EC_WORD_OKAY, EC_WORD_OKAY, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2B(LATIOS)}
    },
    [FRONTIER_TRAINER_JASPER] = {
        .facilityClass = FACILITY_CLASS_EXPERT_M,
        .trainerName = _("马槭"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NO, EC_WORD_OLD, EC_WORD_ME, EC_WORD_VERY, EC_WORD_SKILLED},
        .speechWin = {EC_WORD_ME, EC_WORD_WERE, EC_WORD_WHEN, EC_WORD_SKILLED, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_SHOCKED, EC_WORD_IS, EC_WORD_CAME, EC_WORD_KNOCKOUT, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2C(TYRANITAR)}
    },
    [FRONTIER_TRAINER_NADIA] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("松韵"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_APPEAR, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_HAH, EC_WORD_EXCL, EC_WORD_BE, EC_WORD_ME, EC_WORD_WON, EC_WORD_YOU},
        .speechLose = {EC_WORD_ME, EC_WORD_LOST, EC_WORD_ME, EC_WORD_HAS, EC_WORD_DOWNCAST, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2A(DRAGONITE)}
    },
    [FRONTIER_TRAINER_MIRANDA] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("琦耀"),
        .speechBefore = {EC_WORD_OKAY, EC_WORD_OKAY, EC_EMPTY_WORD, EC_WORD_LET_S, EC_WORD_BEGINNING, EC_WORD_YUP},
        .speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_WHEN, EC_WORD_LUKEWARM, EC_WORD_WON, EC_WORD_QUES},
        .speechLose = {EC_WORD_OKAY, EC_WORD_ME, EC_WORD_SLEPT, EC_WORD_ME, EC_WORD_TOO_WEAK, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2B(LATIAS)}
    },
    [FRONTIER_TRAINER_EMMA] = {
        .facilityClass = FACILITY_CLASS_EXPERT_F,
        .trainerName = _("嘉颖"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LACKS, EC_WORD_HEARING, EC_WORD_YOUR, EC_WORD_THOSE_WERE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_AS_IF, EC_WORD_MISHEARD, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_HEARING, EC_WORD_OF, EC_WORD_BE, EC_WORD_FOE, EC_WORD_OF},
        .monSet = (const u16[]){FRONTIER_MONS_EXPERT_2C(DRAGONITE)}
    },
    [FRONTIER_TRAINER_ROLANDO] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("晨竣"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_HYPER, EC_WORD_HERO, EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_USE, EC_WORD_ENOUGH, EC_WORD_SNORT, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_SHOULD, EC_WORD_BEAT, EC_WORD_A, EC_WORD_HERO},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIOS, ARTICUNO, ZAPDOS, MOLTRES)}
    },
    [FRONTIER_TRAINER_STANLY] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("秋俊"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_GO, EC_WORD_GOT, EC_WORD_MATCH},
        .speechWin = {EC_WORD_REALLY, EC_WORD_VERY, EC_WORD_LEFT, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_NOW, EC_WORD_HAPPY, EC_WORD_IS, EC_WORD_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIOS, RAIKOU, ENTEI, SUICUNE)}
    },
    [FRONTIER_TRAINER_DARIO] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_M,
        .trainerName = _("烨灵"),
        .speechBefore = {EC_WORD_MY, EC_MOVE2(FUTURE_SIGHT), EC_WORD_SAID, EC_WORD_ME, EC_WORD_WOULD, EC_WORD_WIN},
        .speechWin = {EC_WORD_MY, EC_MOVE2(FUTURE_SIGHT), EC_WORD_YEAH, EC_WORD_PERFECTION, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_SEES, EC_WORD_THIS, EC_MOVE(REVERSAL), EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIOS, REGIROCK, REGICE, REGISTEEL)}
    },
    [FRONTIER_TRAINER_KARLEE] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("缘兰"),
        .speechBefore = {EC_WORD_WOULD, EC_WORD_HAVE, EC_WORD_GOOD, EC_WORD_OVER, EC_WORD_OF, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_QUES, EC_WORD_THAT, EC_WORD_FANTASTIC, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_GOOD, EC_WORD_OVER, EC_WORD_TO, EC_WORD_YOU, EC_WORD_THERE, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIAS, ARTICUNO, ZAPDOS, MOLTRES)}
    },
    [FRONTIER_TRAINER_JAYLIN] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("爱丽莎"),
        .speechBefore = {EC_WORD_THE, EC_WORD_TRAINER, EC_WORD_UNDERSTOOD, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THIS, EC_WORD_RANK, EC_WORD_FIGHT, EC_WORD_LEARN, EC_WORD_ME, EC_MOVE(YAWN)},
        .speechLose = {EC_WORD_ME, EC_MOVE2(REST), EC_WORD_IS, EC_WORD_THE, EC_WORD_ME, EC_WORD_LOST},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIAS, RAIKOU, ENTEI, SUICUNE)}
    },
    [FRONTIER_TRAINER_INGRID] = {
        .facilityClass = FACILITY_CLASS_PSYCHIC_F,
        .trainerName = _("睦玉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_AREN_T, EC_WORD_A, EC_WORD_SPIRALING, EC_WORD_OF, EC_WORD_TRAINER},
        .speechWin = {EC_WORD_THIS, EC_WORD_MATCH, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_HAS, EC_WORD_WAS},
        .speechLose = {EC_WORD_ME, EC_WORD_LOST, EC_WORD_CASE, EC_WORD_YOU, EC_WORD_HAS, EC_WORD_BAD},
        .monSet = (const u16[]){FRONTIER_MONS_PSYCHIC_2(LATIAS, REGIROCK, REGICE, REGISTEEL)}
    },
    [FRONTIER_TRAINER_DELILAH] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("敏瑶"),
        .speechBefore = {EC_WORD_IF_I_WIN, EC_EMPTY_WORD, EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_OK_QUES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_ME, EC_WORD_REALLY, EC_WORD_PARDON},
        .speechLose = {EC_WORD_ME, EC_WORD_FOE, EC_WORD_YOU, EC_WORD_HAVE, EC_MOVE(GRUDGE), EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_2A}
    },
    [FRONTIER_TRAINER_CARLY] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("嫦娟"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WILL, EC_WORD_SCATTER, EC_WORD_SOME, EC_MOVE2(POISON_POWDER), EC_EMPTY_WORD},
        .speechWin = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_YEAH, EC_WORD_SCARY, EC_WORD_AWW, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_DISLIKE, EC_WORD_YOU, EC_WORD_AND, EC_WORD_YOUR, EC_WORD_POKEMON},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_2B}
    },
    [FRONTIER_TRAINER_LEXIE] = {
        .facilityClass = FACILITY_CLASS_HEX_MANIAC,
        .trainerName = _("媚珊"),
        .speechBefore = {EC_WORD_WANTS, EC_WORD_SEE, EC_WORD_SCARY, EC_WORD_OF, EC_WORD_POKEMON, EC_WORD_QUES},
        .speechWin = {EC_WORD_THAT, EC_WORD_NO, EC_WORD_SCARY, EC_WORD_DID, EC_WORD_WALKING, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_THAN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_LIKELY_TO, EC_WORD_SCARY},
        .monSet = (const u16[]){FRONTIER_MONS_HEX_MANIAC_2C}
    },
    [FRONTIER_TRAINER_MILLER] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("麟阳"),
        .speechBefore = {EC_WORD_HELLO, EC_WORD_QUES, EC_EMPTY_WORD, EC_WORD_HELLO, EC_WORD_QUES_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_HELLO, EC_WORD_MOTHER, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_WON, EC_WORD_EXCL},
        .speechLose = {EC_WORD_MY, EC_WORD_PHONE, EC_WORD_BAD, EC_WORD_IS, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_2A}
    },
    [FRONTIER_TRAINER_MARV] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("仁山"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_NOW, EC_WORD_CAN, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_IS},
        .speechWin = {EC_WORD_NOW, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_SNORT, EC_EMPTY_WORD, EC_WORD_HUH_QUES},
        .speechLose = {EC_WORD_YOU, EC_WORD_MISS, EC_WORD_HUGE_POWER, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_HUGE_POWER, EC_WORD_YUP},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_2B}
    },
    [FRONTIER_TRAINER_LAYTON] = {
        .facilityClass = FACILITY_CLASS_POKEMANIAC,
        .trainerName = _("文彬"),
        .speechBefore = {EC_WORD_ME, EC_WORD_KNOWS, EC_WORD_ME, EC_WORD_VERY, EC_WORD_COOL, EC_WORD_EXCL},
        .speechWin = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_STUDY, EC_WORD_ME, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_HELLO, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NO, EC_WORD_REALLY, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_POKEMANIAC_2C}
    },
    [FRONTIER_TRAINER_BROOKS] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("史密斯"),
        .speechBefore = {EC_WORD_THIS, EC_WORD_BE, EC_WORD_GO, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_THIS, EC_WORD_RANK, EC_WORD_MATCH, EC_WORD_LOUSY, EC_WORD_HOWEVER, EC_WORD_STATIC},
        .speechLose = {EC_WORD_YOUR, EC_WORD_LEVEL, EC_WORD_WAY, EC_WORD_HIGH, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_A}
    },
    [FRONTIER_TRAINER_GREGORY] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("柯林"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKELY_TO, EC_WORD_HAVEN_T, EC_WORD_WELL_THEN, EC_WORD_OLD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WHOM, EC_WORD_SAID, EC_WORD_ME, EC_WORD_WAY, EC_WORD_OLD, EC_WORD_QUES},
        .speechLose = {EC_WORD_AGREE, EC_WORD_ME, EC_WORD_REALLY, EC_WORD_HAVEN_T, EC_WORD_WELL_THEN, EC_WORD_OLD},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_3A}
    },
    [FRONTIER_TRAINER_REESE] = {
        .facilityClass = FACILITY_CLASS_GENTLEMAN,
        .trainerName = _("布朗"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKELY_TO, EC_WORD_HAVE, EC_WORD_SOME, EC_WORD_THOSE_WERE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DON_T, EC_WORD_DOESN_T, EC_WORD_DIET, EC_WORD_DIDN_T, EC_WORD_SPORTS, EC_WORD_YUP},
        .speechLose = {EC_WORD_SENSE, EC_WORD_LOOKS, EC_WORD_TELEVISION, EC_WORD_SEE_YA, EC_WORD_LOOKS, EC_WORD_BOOK},
        .monSet = (const u16[]){FRONTIER_MONS_GENTLEMAN_3B}
    },
    [FRONTIER_TRAINER_MASON] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
        .trainerName = _("托马"),
        .speechBefore = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_LEARN, EC_WORD_THIS, EC_WORD_BECOMES, EC_WORD_SCARY},
        .speechWin = {EC_WORD_THANK_YOU, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_NOW, EC_WORD_HAPPY, EC_WORD_IS},
        .speechLose = {EC_WORD_ME, EC_WORD_HAS, EC_WORD_DISAPPOINTED, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_A}
    },
    [FRONTIER_TRAINER_TOBY] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
        .trainerName = _("夏汉"),
        .speechBefore = {EC_WORD_LISTENING, EC_WORD_AT, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_ALWAYS, EC_WORD_WIN},
        .speechWin = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_ISN_T_IT_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_CAN, EC_WORD_ON, EC_WORD_SMART, EC_WORD_UP, EC_WORD_VICTORY},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_B}
    },
    [FRONTIER_TRAINER_DOROTHY] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
        .trainerName = _("琪珊"),
        .speechBefore = {EC_WORD_SPORTS, EC_WORD_WORLD, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_POKEMON, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_VICTORY, EC_WORD_YEAH, EC_WORD_REFRESHING},
        .speechLose = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_YEAH, EC_WORD_REFRESHING, EC_WORD_OF, EC_WORD_LOSING},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_C}
    },
    [FRONTIER_TRAINER_PIPER] = {
        .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
        .trainerName = _("梅瑾"),
        .speechBefore = {EC_WORD_AGREE, EC_WORD_YOU, EC_WORD_NEED, EC_WORD_SPEED_BOOST, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_SHOW, EC_WORD_MORE, EC_WORD_OF, EC_WORD_GUTS},
        .speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_D}
    },
    [FRONTIER_TRAINER_FINN] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
        .trainerName = _("飒泰"),
        .speechBefore = {EC_WORD_NO, EC_EMPTY_WORD, EC_WORD_SO, EC_WORD_GO, EC_WORD_FIGHT, EC_WORD_ELLIPSIS},
        .speechWin = {EC_WORD_THIS, EC_WORD_FOREVER, EC_WORD_WON_T, EC_WORD_FINISH, EC_WORD_DID, EC_WORD_QUES},
        .speechLose = {EC_WORD_ME, EC_WORD_FINALLY, EC_WORD_CAN, EC_WORD_BESIDE, EC_WORD_IS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3}
    },
    [FRONTIER_TRAINER_SAMIR] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
        .trainerName = _("照明"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ON, EC_MOVE2(SURF), EC_WORD_CHOICE, EC_MOVE2(DIVE), EC_WORD_EXCL},
        .speechWin = {EC_WORD_YAHOO, EC_WORD_YOU, EC_WORD_WEREN_T, EC_MOVE2(DIVE), EC_WORD_NOPE, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_WORD_SINK, EC_WORD_IS, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3}
    },
    [FRONTIER_TRAINER_FIONA] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
        .trainerName = _("早季"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_BEFORE, EC_MOVE2(BULK_UP), EC_WORD_EASY, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_READY, EC_WORD_MORE, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_MOVE2(BULK_UP), EC_WORD_FOE, EC_WORD_ME, EC_WORD_HAVEN_T, EC_WORD_EATS, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3}
    },
    [FRONTIER_TRAINER_GLORIA] = {
        .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
        .trainerName = _("思璇"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_EATS, EC_WORD_SUCTION_CUPS, EC_WORD_ATTACK, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_FINISH, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_NO, EC_WORD_SLEPT, EC_WORD_SUCTION_CUPS, EC_WORD_HOW_DO, EC_WORD_WORKING},
        .monSet = (const u16[]){FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3}
    },
    [FRONTIER_TRAINER_NICO] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
        .trainerName = _("东风"),
        .speechBefore = {EC_WORD_ME, EC_WORD_JOKING, EC_MOVE(SONIC_BOOM), EC_WORD_AN, EC_WORD_HERE_GOES, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_SORRY, EC_WORD_PARDON, EC_WORD_LEARN, EC_WORD_YOU, EC_WORD_DOWNCAST, EC_WORD_IS},
        .speechLose = {EC_WORD_ME, EC_WORD_WEREN_T, EC_MOVE2(SUPERSONIC), EC_WORD_SPEED_BOOST, EC_WORD_WALKING, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_A}
    },
    [FRONTIER_TRAINER_JEREMY] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
        .trainerName = _("鸣辕"),
        .speechBefore = {EC_WORD_ENJOYS, EC_WORD_POKEMON, EC_WORD_MASTER, EC_WORD_BE, EC_WORD_MY, EC_WORD_DREAM},
        .speechWin = {EC_WORD_MY, EC_WORD_DREAM, EC_WORD_NO, EC_WORD_FAR, EC_WORD_IS, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_OF, EC_WORD_DREAM, EC_WORD_HAVEN_T, EC_WORD_NOTHING, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_B}
    },
    [FRONTIER_TRAINER_CAITLIN] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
        .trainerName = _("彩欣"),
        .speechBefore = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_USE, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_QUES},
        .speechWin = {EC_WORD_ME, EC_WORD_NO, EC_WORD_SERIOUSLY, EC_WORD_CUTE, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_MY, EC_WORD_BEAUTIFUL, EC_WORD_HAVEN_T, EC_WORD_MEET, EC_WORD_YOU, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_C}
    },
    [FRONTIER_TRAINER_REENA] = {
        .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
        .trainerName = _("晓玲"),
        .speechBefore = {EC_WORD_ME, EC_WORD_ALWAYS, EC_WORD_HAPPY, EC_WORD_AWFULLY, EC_WORD_HAPPY, EC_WORD_EXCL},
        .speechWin = {EC_WORD_OH, EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_ALL, EC_WORD_ME, EC_MOVE2(ROAR)},
        .speechLose = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_ME, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_HAPPINESS},
        .monSet = (const u16[]){FRONTIER_MONS_GENERAL_D}
    },
    [FRONTIER_TRAINER_AVERY] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("贞治"),
        .speechBefore = {EC_WORD_ME, EC_WORD_HAVE, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_BUG, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_MY, EC_WORD_ALL_RIGHT, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_UNDERSTOOD, EC_WORD_AWESOME},
        .speechLose = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_PERFECT, EC_WORD_UPSIDE_DOWN, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_4}
    },
    [FRONTIER_TRAINER_LIAM] = {
        .facilityClass = FACILITY_CLASS_BUG_MANIAC,
        .trainerName = _("昶毅"),
        .speechBefore = {EC_WORD_WE, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_FLAME, EC_WORD_AND, EC_WORD_FLYING},
        .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_NICE, EC_WORD_YUP, EC_WORD_QUES, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_KNOWS, EC_WORD_WE, EC_WORD_DISLIKE, EC_WORD_WHAT, EC_WORD_ISN_T_IT_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_BUG_MANIAC_4}
    },
    [FRONTIER_TRAINER_THEO] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("溪洵"),
        .speechBefore = {EC_WORD_FISHING, EC_WORD_BE, EC_WORD_MY, EC_WORD_GOES, EC_WORD_CHOOSE, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_WATER, EC_WORD_POKEMON, EC_WORD_FOE, EC_WORD_ME, EC_WORD_AWFULLY, EC_MOVE2(ATTRACT)},
        .speechLose = {EC_WORD_DON_T, EC_WORD_COUNT_ON, EC_WORD_THIS, EC_WORD_WOULD, EC_MOVE(ENCORE), EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_3}
    },
    [FRONTIER_TRAINER_BAILEY] = {
        .facilityClass = FACILITY_CLASS_FISHERMAN,
        .trainerName = _("游贤"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_ADULT, EC_WORD_ME, EC_WORD_CAN, EC_WORD_GOT, EC_WORD_FIGHT},
        .speechWin = {EC_WORD_I_AM, EC_WORD_ADULT, EC_WORD_IS, EC_WORD_CAN, EC_MOVE2(SWALLOW), EC_WORD_JOY},
        .speechLose = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_ADULT, EC_WORD_ME, EC_MOVE2(SWALLOW), EC_WORD_DOWNCAST},
        .monSet = (const u16[]){FRONTIER_MONS_FISHERMAN_3}
    },
    [FRONTIER_TRAINER_HUGO] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("志宽"),
        .speechBefore = {EC_WORD_ME, EC_WORD_RATHER, EC_WORD_TRY, EC_WORD_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_IF, EC_WORD_ME, EC_WORD_NON_STOP, EC_WORD_TRY, EC_WORD_THIS_IS_IT_EXCL, EC_WORD_CAN_WIN},
        .speechLose = {EC_WORD_ME, EC_WORD_TRY, EC_WORD_EASY, EC_WORD_IS, EC_WORD_ISN_T_IT_QUES, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_4}
    },
    [FRONTIER_TRAINER_BRYCE] = {
        .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
        .trainerName = _("旭廉"),
        .speechBefore = {EC_WORD_ME, EC_WORD_YESTERDAY, EC_WORD_LIKELY_TO, EC_WORD_ON, EC_WORD_PLANS, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_ME, EC_WORD_OF, EC_WORD_SKILL, EC_WORD_LIKELY_TO, EC_WORD_ON, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THIS_IS_IT_EXCL, EC_WORD_EVERY, EC_WORD_ELLIPSIS, EC_WORD_ME, EC_WORD_NEED, EC_MOVE2(REST)},
        .monSet = (const u16[]){FRONTIER_MONS_RUIN_MANIAC_4}
    },
    [FRONTIER_TRAINER_GIDEON] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("澄博"),
        .speechBefore = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_YOU, EC_WORD_USE, EC_WORD_ME, EC_WORD_SCARY, EC_WORD_QUES},
        .speechWin = {EC_WORD_ME, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_NO, EC_WORD_SCARY, EC_WORD_EXCL},
        .speechLose = {EC_WORD_SEE, EC_WORD_ME, EC_WORD_AWESOME, EC_WORD_OF, EC_WORD_FASHION, EC_WORD_WILL_BE_HERE},
        .monSet = (const u16[]){FRONTIER_MONS_COLLECTOR_3}
    },
    [FRONTIER_TRAINER_TRISTON] = {
        .facilityClass = FACILITY_CLASS_COLLECTOR,
        .trainerName = _("恒赫"),
        .speechBefore = {EC_WORD_ME, EC_WORD_GOING, EC_WORD_MISS, EC_WORD_LOOKS, EC_WORD_AT, EC_WORD_POKEMON},
        .speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_SAID, EC_WORD_ME, EC_WORD_WON, EC_WORD_QUES_EXCL},
        .speechLose = {EC_WORD_LOOKS, EC_WORD_QUES, EC_EMPTY_WORD, EC_WORD_ME, EC_WORD_ALWAYS, EC_WORD_LOSS},
        .monSet = (const u16[]){FRONTIER_MONS_COLLECTOR_3}
    },
    [FRONTIER_TRAINER_CHARLES] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("一飒"),
        .speechBefore = {EC_WORD_WITH, EC_WORD_ME, EC_MOVE2(STRUGGLE), EC_WORD_HAVEN_T, EC_WORD_DISAPPOINT, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_USING, EC_WORD_CHOOSE, EC_WORD_SURRENDER, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_ON, EC_WORD_NON_STOP, EC_WORD_DROUGHT, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_3A}
    },
    [FRONTIER_TRAINER_RAYMOND] = {
        .facilityClass = FACILITY_CLASS_GUITARIST,
        .trainerName = _("锐阳"),
        .speechBefore = {EC_WORD_WANTS, EC_WORD_LISTENING, EC_WORD_MY, EC_WORD_SONG, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_SATISFIED, EC_WORD_IS, EC_WORD_THIS, EC_WORD_EH_QUES, EC_WORD_ME, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_TOTALLY, EC_WORD_COULDN_T, EC_WORD_SATISFIED, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_GUITARIST_3B}
    },
    [FRONTIER_TRAINER_DIRK] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("倚然"),
        .speechBefore = {EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WAKE_UP, EC_WORD_HIGH, EC_WORD_OF},
        .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_INVINCIBLE},
        .speechLose = {EC_WORD_AREN_T, EC_WORD_HAVE, EC_WORD_MORE, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_WAS},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_3}
    },
    [FRONTIER_TRAINER_HAROLD] = {
        .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
        .trainerName = _("墨然"),
        .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_MEET, EC_WORD_YOU, EC_WORD_DID, EC_WORD_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_LIKES, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WAS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_THE, EC_WORD_YOU, EC_WORD_DISLIKES, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_BIRD_KEEPER_3}
    },
    [FRONTIER_TRAINER_OMAR] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("高隆"),
        .speechBefore = {EC_WORD_LET_ME_WIN, EC_WORD_ME, EC_WORD_GIMME, EC_WORD_YOU, EC_MOVE2(PRESENT), EC_MOVE(RETURN)},
        .speechWin = {EC_WORD_GIMME, EC_WORD_YOU, EC_WORD_SOME, EC_MOVE2(TOXIC), EC_WORD_SWEETS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_WORD_FOR, EC_WORD_WHAT, EC_WORD_QUES_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_3}
    },
    [FRONTIER_TRAINER_PETER] = {
        .facilityClass = FACILITY_CLASS_SAILOR,
        .trainerName = _("南理"),
        .speechBefore = {EC_WORD_LEARN, EC_WORD_ME, EC_WORD_BRAG, EC_WORD_MY, EC_WORD_HAPPILY, EC_WORD_OK_QUES},
        .speechWin = {EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_LISTENING, EC_WORD_ME, EC_WORD_BRAG, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_YOU, EC_WORD_NO, EC_WORD_LISTENING, EC_WORD_MY, EC_WORD_HAS, EC_WORD_DISAPPOINTED},
        .monSet = (const u16[]){FRONTIER_MONS_SAILOR_3}
    },
    [FRONTIER_TRAINER_DEV] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("泰崖"),
        .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_REJECT, EC_WORD_FAINT, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_AFTER, EC_WORD_ME, EC_WORD_CAN, EC_WORD_NAP, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_AFTER, EC_WORD_NEED, EC_WORD_ME, EC_WORD_NEED, EC_WORD_NAP, EC_WORD_NOT},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_3}
    },
    [FRONTIER_TRAINER_COREY] = {
        .facilityClass = FACILITY_CLASS_HIKER,
        .trainerName = _("干悟"),
        .speechBefore = {EC_WORD_LEARN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_ME, EC_WORD_DIDN_T, EC_WORD_STRONG},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_ME, EC_MOVE(BRICK_BREAK), EC_WORD_OF, EC_WORD_GRAAAH, EC_WORD_EXCL},
        .speechLose = {EC_WORD_MY, EC_WORD_DOWNCAST, EC_WORD_LUKEWARM, EC_WORD_WEREN_T, EC_MOVE2(EXPLOSION), EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_HIKER_3}
    },
    [FRONTIER_TRAINER_ANDRE] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("照祥"),
        .speechBefore = {EC_WORD_NOW, EC_WORD_DOWN, EC_WORD_A, EC_WORD_PERFECTION, EC_WORD_OF, EC_WORD_FLASH_FIRE},
        .speechWin = {EC_WORD_LOOKS, EC_WORD_ME, EC_WORD_FIERY, EC_WORD_OF, EC_WORD_DANCE, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_HERE_IT_IS, EC_MOVE2(EXPLOSION), EC_WORD_DID, EC_WORD_QUES},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_3}
    },
    [FRONTIER_TRAINER_FERRIS] = {
        .facilityClass = FACILITY_CLASS_KINDLER,
        .trainerName = _("钦炀"),
        .speechBefore = {EC_WORD_I_AM, EC_WORD_BEFORE, EC_WORD_BE, EC_WORD_CLASS, EC_WORD_NO_1, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_NO_1, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_WERE, EC_WORD_ME, EC_WORD_EXCL},
        .speechLose = {EC_WORD_ME, EC_WORD_BEEN, EC_WORD_AREN_T, EC_WORD_NO_1, EC_WORD_IS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_KINDLER_3}
    },
    [FRONTIER_TRAINER_ALIVIA] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("淑婧"),
        .speechBefore = {EC_WORD_ME, EC_WORD_VERY, EC_WORD_GIDDY, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_AN},
        .speechWin = {EC_WORD_CARES, EC_WORD_UNDERSTOOD, EC_WORD_WAY, EC_WORD_SIMPLE, EC_WORD_IS, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_ME, EC_WORD_WOULD, EC_MOVE(FLY), EC_WORD_FAINT, EC_WORD_UNDERSTANDS, EC_WORD_ELLIPSIS},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_3}
    },
    [FRONTIER_TRAINER_PAIGE] = {
        .facilityClass = FACILITY_CLASS_PARASOL_LADY,
        .trainerName = _("舞璇"),
        .speechBefore = {EC_WORD_LET_S, EC_WORD_TOGETHER, EC_WORD_ENJOY, EC_WORD_FIGHT, EC_WORD_YUP, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_AWFULLY, EC_WORD_HEY_THERE, EC_WORD_YOU},
        .speechLose = {EC_WORD_WERE, EC_WORD_EVERY, EC_WORD_EXCL, EC_WORD_GO_AHEAD, EC_WORD_YUP, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_PARASOL_LADY_3}
    },
    [FRONTIER_TRAINER_ANYA] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("尚美"),
        .speechBefore = {EC_WORD_ME, EC_WORD_NO, EC_WORD_LIKES, EC_WORD_WAY, EC_WORD_PRETTY, EC_WORD_FASHION},
        .speechWin = {EC_WORD_FASHION, EC_WORD_SHOULD, EC_WORD_AND, EC_WORD_PERSON, EC_WORD_MATCH_UP, EC_EMPTY_WORD},
        .speechLose = {EC_WORD_PRETTY, EC_WORD_ARE, EC_WORD_VERY, EC_WORD_GOOD, EC_EMPTY_WORD, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_EEVEELUTIONS}
    },
    [FRONTIER_TRAINER_DAWN] = {
        .facilityClass = FACILITY_CLASS_BEAUTY,
        .trainerName = _("妤佳"),
        .speechBefore = {EC_WORD_ME, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_FIGHT, EC_WORD_EXCL, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_DON_T, EC_WORD_JOKING, EC_WORD_A, EC_WORD_CHILDREN, EC_WORD_AN, EC_WORD_EXCL},
        .speechLose = {EC_WORD_YOU, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_GO_AHEAD, EC_WORD_KNOW, EC_WORD_EXCL},
        .monSet = (const u16[]){FRONTIER_MONS_BEAUTY_2}
    },
    [FRONTIER_TRAINER_ABBY] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("素馨"),
        .speechBefore = {EC_WORD_ME, EC_WORD_LIKES, EC_WORD_REFRESHING, EC_WORD_OF, EC_WORD_TRAINER, EC_EMPTY_WORD},
        .speechWin = {EC_WORD_VICTORY, EC_WORD_HAVE, EC_WORD_IT, EC_WORD_OF, EC_MOVE(SWEET_SCENT), EC_WORD_EXCL},
        .speechLose = {EC_WORD_YEAH, EC_WORD_AWFUL, EC_WORD_OF, EC_WORD_STENCH, EC_WORD_EXCL, EC_EMPTY_WORD},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_3}
    },
    [FRONTIER_TRAINER_GRETEL] = {
        .facilityClass = FACILITY_CLASS_AROMA_LADY,
        .trainerName = _("秀英"),
        .speechBefore = {EC_WORD_AS, EC_WORD_TRAINER, EC_WORD_ME, EC_WORD_CAUSE, EC_WORD_SON, EC_MOVE(RAGE)},
        .speechWin = {EC_WORD_THIS, EC_WORD_VERY, EC_WORD_NATURAL, EC_WORD_SMELL_YA, EC_WORD_BYE_BYE, EC_WORD_EXCL},
        .speechLose = {EC_WORD_APPEAR, EC_WORD_BELIEVE, EC_EMPTY_WORD, EC_WORD_BUT, EC_WORD_CONGRATS, EC_WORD_IS},
        .monSet = (const u16[]){FRONTIER_MONS_AROMA_LADY_3}
    }
};
